如何使用iPhone在蓝牙设备上设置固定或最小音频比特率?

时间:2015-03-13 11:44:32

标签: ios bluetooth connectivity bitrate

我对这个蓝牙方面全新,如果有人可以帮助我或提供链接以获取更多信息可能真的很有帮助。

我正在努力创建从iPhone到第三方蓝牙设备(即耳机)的无缝高质量比特率传输。 通常,从iPhone开始,音频将被压缩编码并传输以快速连接到蓝牙设备,但音频质量将下降。 我正在寻找改变所用编解码器的方法并获得更好的比特率,因此蓝牙上的音频监听对于收听和录音都具有良好的质量。

1 个答案:

答案 0 :(得分:0)

您可以在iOS中使用AudioUnit并使用AudioStreamBasicDescription

更改采样率
AudioStreamBasicDescription audioDescription = {0};
audioDescription.mFormatID          = kAudioFormatLinearPCM;
audioDescription.mFormatFlags       = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked | kAudioFormatFlagsNativeEndian;
audioDescription.mChannelsPerFrame  = 1;
audioDescription.mBytesPerPacket    = sizeof(SInt16)*audioDescription.mChannelsPerFrame;
audioDescription.mFramesPerPacket   = 1;
audioDescription.mBytesPerFrame     = sizeof(SInt16)*audioDescription.mChannelsPerFrame;
audioDescription.mBitsPerChannel    = 8 * sizeof(SInt16);
audioDescription.mSampleRate        = 8000.0;

您可以更改应用的首选采样率:

let session = AVAudioSession.sharedInstance()
try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
let bufferDuration :NSTimeInterval = 0.005
try session.setPreferredIOBufferDuration(bufferDuration)
try session.setPreferredSampleRate(8000.0)
try session.setActive(true)