当前位置: 首页 > 知识库问答 >
问题:

iOS:如何在我的音乐app中播放蓝牙耳机中的缓冲音频?

葛成济
2023-03-14

我目前正在做一个音乐应用程序,因为我需要在蓝牙耳机中播放缓冲音频歌曲。我搜索了过去1天的代码。但我不能。请给出解决方案如何在我的音乐应用程序中添加它。

还有一件事,我需要在iphone处于背景模式和屏幕锁定模式时播放蓝牙耳机中的音频。

   AVAudioSession* audioSession = [AVAudioSession sharedInstance];
//[audioSession setDelegate:self];
NSError *error;
[audioSession setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:&error];
[audioSession setActive: YES error: nil];


// check the audio route
UInt32 size = sizeof(CFStringRef);
CFStringRef route;

OSStatus result = AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &size, &route);
NSLog(@"route = %@", route);
// if bluetooth headset connected, should be "HeadsetBT"
// if not connected, will be "ReceiverAndMicrophone"

// now, play a quick sound we put in the bundle (bomb.wav)
CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef        soundFileURLRef;
SystemSoundID   soundFileObject;
soundFileURLRef  = CFBundleCopyResourceURL (mainBundle,CFSTR ("sample"),CFSTR ("m4a"),NULL);
AudioServicesCreateSystemSoundID (soundFileURLRef,&soundFileObject);
AudioServicesPlaySystemSound (soundFileObject);     // should play into headset

我已在我的音乐应用程序中添加了此代码,但此代码适用于捆绑音频文件。但我需要缓冲音频。如果不可能,请告诉我的代码是否正确,通过蓝牙耳机播放本地音频文件。?

共有1个答案

郎鸿朗
2023-03-14

根据我在留档中看到的,设置音频会话的类别应该是

AVAudioSessionCategoryPlayAndRecord

AVAudio会话类别记录

如果将选项设置为

 AVAudioSessionCategoryOptionAllowBluetooth

所以你应该改变这一点,另一件事,当我看着枚举:< code > AVAudioSessionCategoryOptions 蓝牙的选项是< code > _ _ TVOS _禁止,但我不知道替代...

 类似资料:
  • 我听一个热门单词,并使用MediaPlayer播放一些音乐。 在播放音乐的同时继续收听下一个命令,并做出相应的反应。 该应用程序运行良好,音乐可以通过蓝牙耳机播放,语音也可以同时识别,但它总是使用手机的麦克风。即使蓝牙耳机连接或没有连接,它仍然使用手机的麦克风。 我试着用: 这让我觉得这是可能的但我不知道怎么做。 请帮帮我。提前谢了。

  • 用ios自带的AVAudio实现的音乐播放器。可以播放存放在电脑里面的音乐文件,可以调整声音音量。播放的时候界面会有下雪的效果。可以作为练习动画和音频播放的例子。 [Code4App.com]

  • 当我尝试播放我的音乐时,Discord机器人不会播放音乐。它使用ytdl核心和ffmpeg。我的代码是: 每当我尝试播放歌曲时,都会发生以下错误: (节点:5180)未处理的PromisejectionWarning:错误:找不到FFmpeg/avconv!在功能上。getInfo(C:\Users\picar\Desktop\DiscordMusicBot\node\u modules\pris

  • 我有一个蓝牙耳机(可以播放立体声音乐)连接到我的android手机(android 4.4.3)。现在,我希望我的代码能够播放立体声音乐并从耳机中录制音频,这两种方式的采样率都很高(44100)。我在以下帖子中遵循了这些解决方案。 如何使用蓝牙耳机录制声音 通过与Android设备配对的蓝牙耳机捕获音频 我的基本代码如下所示。 权限: 打开蓝牙Sco的代码: 播放立体声音乐的代码: 录制音频的代码

  • 我的audio player应用程序当前正在侦听“ACTION\u ACL\u DISCONNECTED”事件,检查BluetoothDevice的意图。EXTRA_DEVICE,并检查该设备的类以查看它是否是BluetoothClass。装置专业AUDIO\u VIDEO设备。如果是这样,那么我想暂停播放。基本上,当蓝牙耳机或汽车连接断开时暂停。 然而,我发现这对一些实际上以其他方式收听的用户来

  • 是否可以从iPhone的内置麦克风接收音频输入,并同时通过蓝牙耳机播放该音频? 我的目标是始终使用内置麦克风作为输入设备,即使输出设备是耳机,因为在我的用例中内置麦克风更方便。 当输出设备是有线耳机时,我知道如何实现我的目标,就像iPhone附带的那种。我只需插入有线耳机,并调用以下方法: 通过调用上述方法,输入设备将从有线耳机的麦克风切换到iPhone的内置麦克风,而输出设备不受影响,因此iPh