我目前正在做一个音乐应用程序,因为我需要在蓝牙耳机中播放缓冲音频歌曲。我搜索了过去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
我已在我的音乐应用程序中添加了此代码,但此代码适用于捆绑音频文件。但我需要缓冲音频。如果不可能,请告诉我的代码是否正确,通过蓝牙耳机播放本地音频文件。?
根据我在留档中看到的,设置音频会话的类别应该是
AVAudioSessionCategoryPlayAndRecord
或
AVAudio会话类别记录
如果将选项设置为
AVAudioSessionCategoryOptionAllowBluetooth
所以你应该改变这一点,另一件事,当我看着枚举:< code > AVAudioSessionCategoryOptions 蓝牙的选项是< code > _ _ TVOS _禁止,但我不知道替代...