MFC中MediaPlayer基本功能使用

首先介紹下,當前文章中的基本功能

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的控件類,可以打開以下鏈接,還是那句話,我對我上傳的內容負責,如果有問題大家可以留言討論~~

https://download.csdn.net/download/qq_32716885/11688402

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章