C#FMOD从流播放
有人能帮我用FMOD或其他方式播放memorystream中的文件吗 到目前为止,我有一个:C#FMOD从流播放,c#,audio,stream,fmod,C#,Audio,Stream,Fmod,有人能帮我用FMOD或其他方式播放memorystream中的文件吗 到目前为止,我有一个: 变量 private FMOD.System _fmod = null; private FMOD.Sound _sound = null; private FMOD.Channel _channel = null; 代码 var file = File.ReadAllBytes("test.ogg"); //MessageBox.Show("B
变量
private FMOD.System _fmod = null;
private FMOD.Sound _sound = null;
private FMOD.Channel _channel = null;
代码
var file = File.ReadAllBytes("test.ogg");
//MessageBox.Show("Bytes from file: " + file.Length);
FMOD.Factory.System_Create(ref _fmod);
var result = _fmod.init(2, FMOD.INITFLAGS.NORMAL, (IntPtr)null);
if(result != FMOD.RESULT.OK) ShowError(result);
var info = new FMOD.CREATESOUNDEXINFO();
result = _fmod.createStream(file, MODE.CREATESTREAM, ref info, ref _sound);
if (result != RESULT.OK) ShowError(result);
任何帮助都将不胜感激首先,我强烈建议您看看FMOD附带的“loadfrommemory”示例(它也有一个C版本)。但要回答你的问题:
这应该是你需要做的一切。WOW<我怎么没有看到这些例子呢?\u csharp!!!???你是一个绝对的救世主!!!希望我能给你我所有的观点:P谢谢你的帮助!!:D:D:D:D:D:D你真是个神啊:)我以为我永远也拿不到我的音乐播放器了,我需要为我的论文制作音乐播放器!!!:)FMOD很棒!!!嘿,谢谢,这是现在的工作,但我有另一个问题,如果我只填补,比方说,10%的缓冲区,然后开始播放,然后继续填补缓冲区,声音停止播放,一旦达到10%的标记。你知道为什么会这样吗?通过使用MODE.OPENMEMORY,你告诉FMOD将“文件”指向的数据复制到其内部缓冲区中。您可以使用MODE.OPENMEMORY\u POINT,但是有更好的流媒体解决方案,例如用户创建的带有读取回调的声音。您好!请问您是如何使fmodex.dll在C#中工作的?我对此感到困惑。谢谢嗨,很抱歉我没能让它工作。。。最后我用MP3格式的声音文件,因为我的时间不多了。