代码之家  ›  专栏  ›  技术社区  ›  Peter

如何为AMR播放填充AudioStreamBasicDescription

  •  0
  • Peter  · 技术社区  · 16 年前

    源数据为AMR-NB 5.9kbit/s(AMR\ U 5.90)

    我试过下面的设置(和一打变化),但我得到的只是垃圾音频。有人知道AMR的正确设置吗?

     AudioStreamBasicDescription asbd;
     asbd.mSampleRate = 8000.0;
     asbd.mFormatID = kAudioFormatAMR;
     asbd.mFormatFlags = 0;
     asbd.mBytesPerPacket = 15;  // (118>>3)
     asbd.mFramesPerPacket = 1;
     asbd.mBytesPerFrame = 15;
     asbd.mChannelsPerFrame = 1;
     asbd.mBitsPerChannel = 118;  //tried also 0 and 13
     asbd.mReserved = 0;
    

    基于维基百科的AMR信息:

    数据结构描述如下:

    http://developer.apple.com/iphone/library/documentation/MusicAudio/Reference/CoreAudioDataTypesRef/Reference/reference.html#//apple_ref/doc/c_ref/AudioStreamBasicDescription

    1 回复  |  直到 16 年前
        1
  •  1
  •   Peter    14 年前

    iOS放弃了AMR支持,因此新的解决方案是使用OpenCoreAMR将数据转换为PCM