当前位置:  开发笔记 > 编程语言 > 正文

原生iPhone音频格式

如何解决《原生iPhone音频格式》经验,为你挑选了1个好方法。

我目前在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;

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

花很多时间.

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



1> 小智..:

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;

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有