原生iPhone音频格式

Oli*_*ume 7 iphone audio

我目前在iPhone设置上输出了我的输出音频:

AudioStreamBasicDescription audioFormat;

audioFormat.mSampleRate = 48000;

audioFormat.mFormatID   = kAudioFormatLinearPCM;

audioFormat.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked;

audioFormat.mFramesPerPacket = 1;

audioFormat.mChannelsPerFrame = 2;

audioFormat.mBitsPerChannel = 16;

audioFormat.mBytesPerPacket = 4;

audioFormat.mBytesPerFrame = 4;
Run Code Online (Sandbox Code Playgroud)

但是,当我通过鲨鱼检查我的表现数据时,我看到的功能如下: SRC_Convert_table_i32_scalar_stereo

花很多时间.

这让我想到 - iPhone的理想和建议输出格式是什么?需要尽可能少的设备才能玩的设备.

小智 11

Shark确实可以使用iPhone.您可以通过在菜单中选择"采样>网络/ iPhone配置文件..."来启用iPhone配置文件.

绝对尝试使用44100 Hz采样率.使用48000我看到你发布的相同功能出现在callstacks中 - 使用44100时没有显示这样的功能.iPhone上音频单元的规范音频格式是非交错的8.24线性PCM:

streamFormat.mFormatID         = kAudioFormatLinearPCM;
streamFormat.mFormatFlags      = 
                  kAudioFormatFlagIsSignedInteger
                | kAudioFormatFlagsNativeEndian
                | kLinearPCMFormatFlagIsNonInterleaved
                | (24 << kLinearPCMFormatFlagsSampleFractionShift);
streamFormat.mSampleRate       = mixing_rate;
streamFormat.mBitsPerChannel   = 32;
streamFormat.mChannelsPerFrame = 2;
streamFormat.mFramesPerPacket  = 1;
streamFormat.mBytesPerFrame    = ( streamFormat.mBitsPerChannel / 8 );
streamFormat.mBytesPerPacket   = streamFormat.mBytesPerFrame *
                                 streamFormat.mFramesPerPacket;
Run Code Online (Sandbox Code Playgroud)