mobile下调用media player接口函数播放amr文件?高手们来指点一下吧
我在用vs 2005+ mobile 5.0 for ppc下写了一段音频播放代码,是调用media player sdk提供的com接口来实现的,音频格式为amr。虽然sdk里未说明支持amr格式,但是经试验证明还是可以播放的,只是里面存在一些问题。我水平很菜,希望各位大虾指点一下。
代码如下:
CComPtr<IWMPPlayer> m_mpPlayer;
CComPtr<IWMPControls> m_mpControler;
CComPtr<IWMPSettings> m_mpSetting;
CoInitializeEx(NULL,0);
hr = m_mpPlayer.CoCreateInstance( __uuidof(WindowsMediaPlayer),0,CLSCTX_INPROC_SERVER ); hr = m_mpPlayer->get_controls(&m_mpControler);
hr = m_mpPlayer->get_settings(&m_mpSetting);
hr = m_mpSetting->put_volume(nVol);
hr = m_mpSetting->put_autoStart(false);
hr = m_mpPlayer->put_URL(bstrLocPath);//bstrLocPath是本地音频文件存放的路径,路径绝对没有问题的
if(m_mpControler.p)
hr = m_mpControler->play();
程序每次执行到m_mpPlayer->put_URL(bstrLocPath)时,不是返回一个负值就是返回S_FALSE,返回负值直接无法播放;返回S_FALSE倒是可以播放,但是也不应该阿。也不知道是什么问题造成的。希望高手们指点一下。