gpt4 book ai didi

C# FMOD 从流播放

转载 作者:行者123 更新时间:2023-11-30 21:20:10 27 4
gpt4 key购买 nike

任何人都可以帮助我使用 FMOD 或任何其他方式从内存流中播放文件吗?

到目前为止我有这个:
变量

    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# 版本)。但在这里回答你的问题:

  1. 您需要填充 FMOD.CREATESOUNDEXINFO 结构的一些成员:

    info.cbsize = Marshal.SizeOf(info);info.length = file.Length;

  2. 您需要告诉 FMOD 您正在使用 OPENMEMORY 标志提供内存中数据:

    result = _fmod.createStream(file, MODE.CREATESTREAM | MODE.OPENMEMORY, ref info, ref _sound);

这应该是您开始所需要的全部内容。

关于C# FMOD 从流播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3416705/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com