Windows mobile 在Windows Mobile 6 SndPlaySync中缓慢播放Mp3
我正在尝试使用最新支持的mp3播放功能SndPlaySync(也尝试了SndPlaySync)从我的winows移动应用程序播放mp3文件。 我制作了一个最简单的程序,只是将函数附加到WM_KEYDOWN事件。(代码见下文)。但在这之前,总有0.5-2秒的等待时间 这个程序播放mp3。当我简单地使用PlaySound并尝试播放.wav文件时,它工作不稳定。我能做什么 代码: 这个太慢了Windows mobile 在Windows Mobile 6 SndPlaySync中缓慢播放Mp3,windows-mobile,mp3,windows-mobile-6,Windows Mobile,Mp3,Windows Mobile 6,我正在尝试使用最新支持的mp3播放功能SndPlaySync(也尝试了SndPlaySync)从我的winows移动应用程序播放mp3文件。 我制作了一个最简单的程序,只是将函数附加到WM_KEYDOWN事件。(代码见下文)。但在这之前,总有0.5-2秒的等待时间 这个程序播放mp3。当我简单地使用PlaySound并尝试播放.wav文件时,它工作不稳定。我能做什么 代码: 这个太慢了 case WM_KEYDOWN: PlaySound(c_szMid,NULL,NULL);
case WM_KEYDOWN:
PlaySound(c_szMid,NULL,NULL);
HSOUND hSound;
HRESULT hr;
SndOpen(c_szMid, &hSound);
hr = SndPlayAsync(hSound, 0);
hr = SndClose(hSound);
这很快就能奏效:
case WM_KEYDOWN:
PlaySound(c_szMid,NULL,NULL);
如果您有任何想法,我将不胜感激
谢谢
Dan不要忘记,mp3文件是压缩的,而wav文件不是压缩的 因此延迟可能是将
mp3
文件读入内存并解压缩所需的时间,而wav
文件不一定会发生这种情况
不过我不确定你会如何验证这一点。不要忘记,
mp3
文件是压缩的,而wav
则不是
因此延迟可能是将mp3
文件读入内存并解压缩所需的时间,而wav
文件不一定会发生这种情况
但我不确定您将如何验证这一点。该代码正确吗?现在调用PlaySound(同步的),后面是异步版本。对我来说,这应该是播放两次声音
另外,如果您尝试使用with SND_ASYNC标志,您会看到什么行为?这段代码正确吗?现在调用PlaySound(同步的),后面是异步版本。对我来说,这应该是播放两次声音
另外,如果您尝试使用SND_ASYNC标志,您会看到什么行为?我实际上在尝试SndPlaySync的地方添加了代码,但它与SndPlaySync的效果相同 事实上,我缩小了问题的范围——甚至当我尝试使用 播放声音(带同步标志)并使用SndPlaySync,SndPlaySync的运行速度是原来的两倍:(
我将就此提出一个新问题。我实际上在尝试SndPlaySync的地方添加了代码,但在SndPlaySync中效果相同 事实上,我缩小了问题的范围——甚至当我尝试使用 播放声音(带同步标志)并使用SndPlaySync,SndPlaySync的运行速度是原来的两倍:( 我将就此提出一个新问题