主题:如何在Mediaplayer里打开其他文件?
寂寞の风
[专家分:130] 发布于 2006-12-04 23:05:00
能不能用个Button按钮直接打开播放文件,并用Mediaplayer播放?[em10][em10]
回复列表 (共5个回复)
沙发
laila [专家分:160] 发布于 2006-12-05 20:10:00
这是我以前写的.希望能有些帮助.其中有些不相干的代码...
注意WindowsMediaPlayer 是Windows media player 的component,不是BCB自带的
Mediaplayer...Mediaplayer 不如这个好用.如果你有按Windows Media player,你
只要import activeX component就可以按装这个component了.十分容易...
Load music list: mp3list is a vector of the music file names
IWMPMediaPtr media1;
for (int j =0; i < MP3List.size(); i ++ ) {
media1 = MainForm->WindowsMediaPlayer1->mediaCollection->add(MP3List.at(i).c_bstr());
MainForm->WindowsMediaPlayer1->currentPlaylist->appendItem(media1);
MainForm->MP3InfoWin->Lines->Add(ExtractFileName(MP3List.at(i)));
}
if ((MainForm->WindowsMediaPlayer1->playState==1) || // stopped
(MainForm->WindowsMediaPlayer1->playState==10)){ // ready to play
media = MainForm->WindowsMediaPlayer1->currentPlaylist->get_Item(0);
MainForm->WindowsMediaPlayer1->controls->set_currentItem(media);
}
play music:
if (MainForm->WindowsMediaPlayer1->playState==2) {
MainForm->WindowsMediaPlayer1->controls->play(); // continue
}else if ((MainForm->WindowsMediaPlayer1->playState==1) || // stopped
(MainForm->WindowsMediaPlayer1->playState==10)){ // ready to play
media = MainForm->WindowsMediaPlayer1->currentMedia;
//media = MainForm->WindowsMediaPlayer1->currentPlaylist->get_Item(0);
MainForm->WindowsMediaPlayer1->controls->playItem(media); // play, start from beginning
}
板凳
寂寞の风 [专家分:130] 发布于 2006-12-06 09:45:00
open music:
好像没有啊!
3 楼
寂寞の风 [专家分:130] 发布于 2006-12-06 12:39:00
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (OpenDialog1->Execute())
MediaPlayer1->Play(OpenDialog1->FileName);//错误
}
这个错在哪?应该怎样写才能正确打开文件?
4 楼
laila [专家分:160] 发布于 2006-12-06 20:55:00
首先, 在我前一个例子中(WindowsMediaPlayer) 我先load music 再play.
如果用TMediaPlayer,你可以试一下以下的代码,希望有帮助.
Open and play:
MediaPlayer1->FileName = OpenDialog1->FileName;
MediaPlayer1->Open();
MediaPlayer1->Play();
Pause:
if (MediaPlayer1->Mode==mpPlaying) MediaPlayer1->Pause();
Stop:
MediaPlayer1->Stop();
5 楼
寂寞の风 [专家分:130] 发布于 2006-12-07 19:08:00
谢谢了~
if (OpenDialog1->Execute())
{
MediaPlayer1->FileName=OpenDialog1->FileName;
MediaPlayer1->Open();
MediaPlayer1->Play();
}
正确代码
我来回复