我认为这将是一个相对简单的任务,像FMOD,但我无法让它工作。即使是示例代码netstream似乎也没有办法。无论我尝试的NetStream实例程序,玩什么MP3,我得到这个错误:使用FMOD从互联网上流式传输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)无法执行搜索操作。这是媒体(即netstreams)或文件格式的限制。
在我进行更改之前,我可以使用netstream播放“C:\ test.mp3”,它是网上名为test.mp3的文件,但不再适用于上述更改。也许这些文件只是在错误的格式或东西?对不起,我对这方面的知识缺乏了解,我对声音知之甚少,但试图找出答案。
感谢, 凯尔
我是根据你的要求编辑的,当你在本地播放文件时,为什么它能工作?像c:\ test.mp3而不是http://mysite.com/test.mp3? –
因为您告诉它建议的格式是MPEG(它会跳过标签编解码器),并且MPEG只搜索4k的数据来查找音频,所以它会失败。您可以使用FMOD_MPEGSEARCH来解决这个问题。此外,我编辑了我的答案,让文件为你工作。 –