• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iOS 音频单元,将立体声源中的每个立体声 channel 输出到 3D 混音器

[复制链接]
菜鸟教程小白 发表于 2022-12-11 16:38:21 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

Apple 的 3D Mixer Audio Unit 指南指出:

To use a stereo source, you may treat its left and right channels as two independent single-channel sources, and then feed each side of the stereo stream to its own input bus.

https://developer.apple.com/library/ios/qa/qa1695/_index.html

但是,我不知道如何将立体声音频单元的每个 channel 发送到 3D 混音器。如何做到这一点?



Best Answer-推荐答案


基本上,你需要做类似的事情

@interface AudioEngine () {
    AVAudioEngine                       *_engine;
    AVAudioEnvironmentNode              *_environment;
    AVAudioPCMBuffer                    *_ouputBuffer;
    NSMutableArray <AVAudioPlayerNode*> *_PlayerArray;
    AVAudioPlayerNode                   *_soundPlayer;
    AVAudioPCMBuffer                    *_soundBuffer;
    bool                                _multichannelOutputEnabled

;

加载一个文件并从缓冲区中抓取它。 要将立体声分成多声道,您需要类似

outputLayoutTag = kAudioChannelLayoutTag_AudioUnit_2;
_multichannelOutputEnabled = true;

这个'_multichannelOutputEnabled = true;'通常设置为false

然后设置算法以对您的 channel 执行某些操作

AVAudio3DMixingRenderingAlgorithm renderingTHIS = _multichannelOutputEnabled ? 
AVAudio3DMixingRenderingAlgorithmSoundField : AVAudio3DMixingRenderingAlgorithmEqualPowerPanning;
        newPlayer.renderingAlgorithm = renderingTHIS;

在 View Controller 的某个地方,您可能会将类似的东西与游戏中的对象相关联

[self.epicAudioEngine.updateListenerOrientation:AVAudioMake3DAngularOrientation([ang.x,ang.y,ang.z])

[self updateEulerAnglesAndListenerFromDeltaX:dX DeltaY:dY]

查看 libavformat、libavutil 的 ffmpeg 源代码,了解如何处理音频

关于iOS 音频单元,将立体声源中的每个立体声 channel 输出到 3D 混音器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37580255/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap