在Pocket PC上使用VSC++代码播放mp3

3

有没有人知道一些适用于口袋PC的mp3播放代码。
我有三个mp3文件,我想在我的应用程序加载时播放它们,具体取决于您如何登录。

我已经使用VS2005 C++编写了现有的代码。

我认为用于桌面的mp3播放代码可能会起到作用。但是我可能无法访问库,这就是我具体要求的原因。

2个回答

1

您可以使用DirectShow这里有一个示例(它播放视频文件,但完全相同的代码也适用于音频)。不幸的是,Windows Mobile缺乏适合解码普通.mp3文件的分离器,但有一个解决方法:您可以向您的MP3添加RIFF头(生成MPEG压缩的WAV文件)。


1

我知道这个问题是关于 C++ 的,但在这里有一个好点。就像你说的那样,适用于您桌面的代码也可以适用于 Pocket PC。

所以我用 C# 编写了 Windows Mobile 应用程序,其中包含提醒功能,并使用 wmplib (Windows Media Player) 库播放歌曲(包括 mp3)。

首先,您需要将 wmp.dll 添加到引用中,在 c:\Windows\System32(或您的 windows 目录)中找到。然后您只需要编写如下代码:

private WMPLib.WindowsMediaPlayer player = new WMPLib.WindowsMediaPlayer();
// url is the path of the file
private void PlayFile(String url)
{

    player = new WMPLib.WindowsMediaPlayer();
    player.URL = url;
    player.settings.volume = 100;
    player.controls.play();
}

这里是代码的参考资料

而对于C++,在这里你可以找到如何实现它


谢谢,这让我找到了正确的方向。但是使用wmp.dll存在GC问题。有一个相关的SO问题,但仍未找到解决GC问题的有效方法:http://stackoverflow.com/questions/2700219/why-is-this-simple-mobile-form-not-closed-when-using-the-player - pithyless

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接