Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.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 如何使用iPhone在蓝牙设备上设置固定或最小音频比特率?_Ios_Bluetooth_Connectivity_Bitrate - Fatal编程技术网

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

Ios 如何使用iPhone在蓝牙设备上设置固定或最小音频比特率?,ios,bluetooth,connectivity,bitrate,Ios,Bluetooth,Connectivity,Bitrate,我是一个全新的蓝牙方面,如果有人可以帮助我或提供进一步的信息链接可以真的很有帮助 我正在尝试创建从iPhone到第三方蓝牙设备(即耳机)的无缝高质量比特率音频传输。 通常,从iPhone开始,音频将被压缩编码并传输到蓝牙设备,以实现快速连接,但音频质量会降低。 我正在想方设法改变所使用的编解码器,使其具有更好的比特率,以便在蓝牙上收听的音频对收听和录制都具有良好的质量 您可以在iOS中使用AudioUnit,并使用AudioStreamBasicDescription更改采样率 AudioStr

我是一个全新的蓝牙方面,如果有人可以帮助我或提供进一步的信息链接可以真的很有帮助

我正在尝试创建从iPhone到第三方蓝牙设备(即耳机)的无缝高质量比特率音频传输。 通常,从iPhone开始,音频将被压缩编码并传输到蓝牙设备,以实现快速连接,但音频质量会降低。
我正在想方设法改变所使用的编解码器,使其具有更好的比特率,以便在蓝牙上收听的音频对收听和录制都具有良好的质量

您可以在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)

我认为您无法控制音频如何传送到外部设备请注意,一旦启动音频会话,实际采样率可能会有所不同。