首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用iPhone在蓝牙设备上设置固定或最小音频比特率?

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

Stack Overflow用户
提问于 2015-03-13 19:44:32
回答 1查看 552关注 0票数 0

我完全是蓝牙方面的新手,如果任何人能帮助我或提供更多信息的链接可能真的很有帮助。

我正在尝试创建一个无缝的高质量比特率的音频传输从iPhone到第三方蓝牙设备(即耳机)。通常,为了快速连接到蓝牙设备,将从iPhone对音频进行压缩、编码和传输,但音频质量会降低。我正在寻找方法来改变使用的编解码器,并有更好的比特率,以便在蓝牙上收听的音频具有良好的收听和录音质量。

EN

回答 1

Stack Overflow用户

发布于 2016-01-23 00:49:03

您可以在iOS中使用AudioUnit并使用AudioStreamBasicDescription更改采样率

代码语言:javascript
运行
复制
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;

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

代码语言:javascript
运行
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29031383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档