我认为这将是一个相对简单的任务,比如 FMOD,但我无法让它工作。即使是示例代码 netstream 似乎也不能解决问题。无论我尝试使用 netstream 示例程序播放什么 mp3,我都会收到此错误:
FMOD error! (20) Couldn't perform seek operation. This is a limitation of the medium (ie netstreams) or the file format.
我真的不明白这是什么意思。这不正是 netstream 示例程序的用途吗?从互联网流式传输一些文件?
我无法通过 createSound 方法
result = system->createSound(argv[1], FMOD_HARDWARE | FMOD_2D | FMOD_CREATESTREAM | FMOD_NONBLOCKING, 0, &sound);
编辑:
这是我在阅读马修的回答后修改的
FMOD_CREATESOUNDEXINFO soundExInfo;
memset(&soundExInfo, 0, sizeof(FMOD_CREATESOUNDEXINFO));
soundExInfo.cbsize = sizeof(FMOD_CREATESOUNDEXINFO);
soundExInfo.suggestedsoundtype = FMOD_SOUND_TYPE_MPEG;
result = system->createSound(argv[1], FMOD_HARDWARE | FMOD_2D | FMOD_CREATESTREAM | FMOD_NONBLOCKING | FMOD_IGNORETAGS, &soundExInfo, &sound);
根据我使用的文件,我得到两个不同的错误。
测试 1 网址: http: //kylegobel.com/test.mp3
测试 1 错误:(25) 不支持的文件或音频格式。
测试 2 网址: http: //kylegobel.com/bullet.mp3
测试 2 错误:(20) 无法执行查找操作。这是媒体(即网络流)或文件格式的限制。
在进行更改之前,我可以使用 netstream 播放“C:\test.mp3”,它与网络上名为 test.mp3 的文件相同,但不再适用于上述更改。也许这些文件只是格式错误或其他什么?对不起,我缺乏这方面的知识,我真的不太了解声音,但试图弄清楚。
谢谢,凯尔