在windows10雙擊是可以播放的,很奇怪,有大俠遇到過這個問題嗎?
uj5u.com熱心網友回復:
是delphi自帶的 MediaPlayer不支持你的檔案你可用microsoft mulitmedia control 6.0或windows media play的activeX構件試試
(你可用選單上的componet->import activeX control來安裝)
uj5u.com熱心網友回復:
試試NewAC控制元件,很好用New Audio Components package
uj5u.com熱心網友回復:
自帶mediaplayer控制元件很弱的。簡單玩兒玩兒還行,要是正式想搞點什么還是用一些控制元件,比如ffmpeg,ffvcl,價格也不是太貴,也有免費試用。mediaplayer如果想支持更多格式需要在系統里安裝解碼器。安裝完解碼器只要是系統windows media player能播放的檔案,你做的程式就都可以播。但需要將后綴名添加到系統注冊表里。
代碼如下:
procedure Tbcform.btn1Click(Sender: TObject);
var
ARegistry : TRegistry;
begin
ARegistry := TRegistry.Create;
with ARegistry do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('Software\Microsoft\Windows NT\CurrentVersion\MCI Extensions', True) then
WriteString('avi', 'avivideo');
WriteString('cda', 'CDAudio');
WriteString('Mid', 'Sequencer');
WriteString('rmi', 'Sequencer');
WriteString('Wav', 'WaveAudio');
WriteString('aif', 'MPEGVideo');
WriteString('aifc', 'MPEGVideo');
WriteString('aiff', 'MPEGVideo');
WriteString('au', 'MPEGVideo');
WriteString('dat', 'MPEGVideo');
WriteString('m1v', 'MPEGVideo');
WriteString('mp2', 'MPEGVideo');
WriteString('mpa', 'MPEGVideo');
WriteString('mpe', 'MPEGVideo');
WriteString('mpeg', 'MPEGVideo');
WriteString('mpg', 'MPEGVideo');
WriteString('snd', 'MPEGVideo');
WriteString('asf', 'MPEGVideo');
WriteString('asx', 'MPEGVideo');
WriteString('ivf', 'MPEGVideo');
WriteString('m3u', 'MPEGVideo');
WriteString('mp2v', 'MPEGVideo');
WriteString('mp3', 'MPEGVideo');
WriteString('mpv2', 'MPEGVideo');
WriteString('wax', 'MPEGVideo');
WriteString('wm', 'MPEGVideo');
WriteString('wma', 'MPEGVideo');
WriteString('wmv', 'MPEGVideo');
WriteString('wvx', 'MPEGVideo');
WriteString('wmx', 'MPEGVideo');
WriteString('wpl', 'MPEGVideo');
WriteString('MP4', 'MPEGVideo');
WriteString('mkv', 'MPEGVideo');
WriteString('flac', 'MPEGVideo');
WriteString('ape', 'MPEGVideo');
WriteString('aac', 'MPEGVideo');
WriteString('vob', 'MPEGVideo');
WriteString('mov', 'MPEGVideo');
WriteString('flv', 'MPEGVideo');
WriteString('f4v', 'MPEGVideo');
WriteString('rm', 'MPEGVideo');
WriteString('rmvb', 'MPEGVideo');
WriteString('ogg', 'MPEGVideo');
CloseKey;
Destroy;
end;
end;
procedure Tbcform.btn2Click(Sender: TObject);
var
ARegistry : TRegistry;
begin
ARegistry := TRegistry.Create;
with ARegistry do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('Software\Microsoft\Windows NT\CurrentVersion\MCI32', True) then
WriteString('AVIVideo', 'mciavi32.dll');
WriteString('CDAudio', 'mcicda.dll');
WriteString('Sequencer', 'mciseq.dll');
WriteString('WaveAudio', 'mciwave.dll');
WriteString('MPEGVideo', 'mciqtz32.dll');
CloseKey;
Destroy;
end;
end;
這也是覆寫了常見的音視頻格式了,加入這些注冊表資訊,你的程式就可以直接播放這些型別的檔案了,解碼器可以選K-Lite_Codec_Pack。
播放前要先open
if (MediaPlayer1.DeviceID <> 0) then
begin
if (MediaPlayer1.Mode = mpplaying) then
MediaPlayer1.Stop;
end;
mediaplayer1.open;
mediaplayer1.Display := pnl1;
Self.mediaplayer1.FileName := 'c:/*.mp3';
mediaplayer1.Play;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/27721.html
標籤:VCL組件開發及應用
