首先介紹下,當前文章中的基本功能
1:播放、暫停、停止、快進、後退、指定播放速度
2:設置視頻音量、是否靜音?
3:播放模式:順序播放、隨機播放、單曲播放
使用MediaPlayer播放器用到的幾個類
CWMPPlayer4 m_mediaPlayer; //播放地址關聯
CWMPControls m_control; //控制按鈕關聯
CWMPMedia m_media; //媒體
CWMPSettings m_setting; //設置按鈕關聯
CWMPPlaylist m_playlist;
對當前類進行關聯,必不可少一步
m_control=m_mediaPlayer.get_controls();
m_setting = m_mediaPlayer.get_settings();
有的人想把MediaPlayer的菜單欄去掉,發現無法在屬性上去除,如圖:
想要去除紅邊框中的內容,用以下代碼實現
m_mediaPlayer.put_uiMode(L"None");
******************************************************************************************
該函數的其他參數說明,不在當前文章中說明,如果有需要了解了,我會記錄在CWMPPlayer4中進行說明。
******************************************************************************************
播放單一視頻
m_mediaPlayer.put_URL(m_strSelPlay);
******************************************************************************************
使用當前API時,一定要記住參數寫視頻的絕對路徑,不可以寫相對路徑!!!
******************************************************************************************
暫停視頻
m_control.pause();
暫停視頻後想要繼續再次播放當前視頻
此時,不能用上一步的播放單一視頻了,應該改用下面方式
m_control.play();
停止視頻播放
m_control.stop();
視頻快進
當前操作是快進整個視頻,使用該功能後視頻以快速方式進行播放
m_control.fastForward();
視頻後退
當前操作的是後退整個視頻
m_control.fastReverse();
指定視頻播放速度
使用上面兩個函數發現,無法指定視頻自定義播放速度,這讓人很難受,那就來看下面這個函數,它就可以完成你的功能。
哈哈
double dRate = 1.3;
m_setting.put_rate(dRate);
設置視頻的音量
long voiceNum = 4;
//參數可以進行任意設置,大/小
m_setting.put_volume(voiceNum);
靜音設置
如果要將聲音設置成靜音狀態時,就不能使用上面的API了,靜音設置有它單獨的API
//靜音設置
m_setting.put_mute(true);
//非靜音設置
m_setting.put_mute(false);
視頻播放模式設置
有三種模式:順序播放、隨機播放、單曲循環播放
用到的API是
//順序播放
m_setting.setMode(L"autoRewind",TRUE);
//單曲循環播放
m_setting.setMode(L"loop",TRUE);
//隨機播放
m_setting.setMode(L"shuffle",TRUE);
其實,在使用這個API時,有個問題,當我使用對這三種播放方式交叉使用的時候,發現,使用單曲循環播放好像不生效。
請大家使用的時候需要注意這個問題。(目前這個問題已經被我解決了,我會在其他的文章中記錄我的解決方案,敬請期待)
寫到這裏了,大家會發現CWMPPlaylist類還沒有被使用。沒錯,在以上簡單功能中,不需要用到這個類。只有在進行播放模式變化時纔會用到。
當我們使用順序播放時,不可能重複的使用put_URL這個函數進行播放。
需要將播放的視頻文件存在到一個列表容器中,也就需要CWMPPlaylist類了。
首先,在使用之前,進行綁定。
也請大家注意,一定是使用之前進行綁定!!!
m_playlist = static_cast<CWMPPlaylist>(m_mediaPlayer.get_currentPlaylist());
對該類進行數據添加
CString strFile = L"F:\\text.mp4";
m_media = static_cast<CWMPMedia>(m_mediaPlayer.newMedia(strFile));
m_playlist.appendItem(m_media);
*****************************************************************************
在這裏也要注意,文件路徑需要寫全路徑,不能寫相對路徑
*****************************************************************************
下一步,將你需要播放的數據存儲在m_playlist之後,對齊進行數據綁定
m_mediaPlayer.put_currentPlaylist(m_playlist);
下一步進行播放
m_control.play();
一般,在進行順序播放的時候都會設置,是否循環列表播放,可以做以下操作
m_setting.put_autoStart(TRUE);
好了,以上就是對基本功能的介紹了。我對我寫的每一句代碼負責,只有被我驗證過的代碼纔會講解給大家,希望會對大家有幫助。
如果有人想要下載關於MediaPlayer的控件類,可以打開以下鏈接,還是那句話,我對我上傳的內容負責,如果有問題大家可以留言討論~~