Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用AVFoundation或CoreAudio从文件或缓冲区解码/转换音频时,我应该使用什么?_Ios_Macos_Audio_Avfoundation_Core Audio - Fatal编程技术网

Ios 使用AVFoundation或CoreAudio从文件或缓冲区解码/转换音频时,我应该使用什么?

Ios 使用AVFoundation或CoreAudio从文件或缓冲区解码/转换音频时,我应该使用什么?,ios,macos,audio,avfoundation,core-audio,Ios,Macos,Audio,Avfoundation,Core Audio,我想对缓冲区或音频文件中的音频进行解码,并将其写入缓冲区以便在macOS和iOS上播放(我不想将其直接路由到硬件)。我想能够转换成另一种格式,如果支持的话。我应该使用AVFoundation/CoreAudio API中的哪些类/服务来实现这一点?AVFoundation中的类可以实现所有这些功能 AVAudioFile用于将文件中的音频解码到PCM(avaudiopcbuffer) AVAudioConverter用于在格式之间转换 AVAudioEngine具有可播放的AVAudioPlay

我想对缓冲区或音频文件中的音频进行解码,并将其写入缓冲区以便在macOS和iOS上播放(我不想将其直接路由到硬件)。我想能够转换成另一种格式,如果支持的话。我应该使用AVFoundation/CoreAudio API中的哪些类/服务来实现这一点?

AVFoundation
中的类可以实现所有这些功能

  • AVAudioFile
    用于将文件中的音频解码到PCM(
    avaudiopcbuffer

  • AVAudioConverter
    用于在格式之间转换
  • AVAudioEngine
    具有可播放的
    AVAudioPlayerNode
    avaudiopmbuffers

  • 如果您需要对延迟、设备进行更多控制,或者如果您在
    AVFoundation
    中遇到错误,您可以使用
    CoreAudio
    AudioToolbox
    ,谢谢!关于如何使用AVFoundation从音频缓冲区(而不是从文件)解码的任何建议?
    AVAudioConverter
    都可以做到这一点。