Je développe une application iOS audio/vidéo et de messagerie texte rapide en utilisant AVAudioSession.AVAudioSession: Certains appareils Bluetooth ne fonctionnent pas correctement sur mon application
Chaque fois que je choisis d'utiliser certains périphériques Bluetooth, le son lu sur l'appareil n'est pas le flux audio de l'application. Ils ne jouent que le son du système envoyé par la bibliothèque de discussion de texte chaque fois que des messages sont envoyés/reçus à la place. Cela n'arrive pas sur tous les appareils Bluetooth, sur certains d'entre eux tout fonctionne bien. Sur Builtin Mic et Speaker, l'application fonctionne bien aussi.
Voici les méthodes les plus importantes de ma classe pour gérer l'appareil:
class MyAudioSession
{
private var mAudioSession: AVAudioSession;
init!()
{
self.mAudioSession = AVAudioSession.sharedInstance();
do {
try self.mAudioSession.setActive(false);
try self.mAudioSession.setCategory(AVAudioSessionCategoryPlayAndRecord, withOptions: .AllowBluetooth);
try self.mAudioSession.setMode(AVAudioSessionModeVideoChat);
try self.mAudioSession.setActive(true);
}
catch {
return nil;
}
}
func switchToDevice(device: AVAudioSessionPortDescription!) -> Bool
{
var ret = false;
if (device != nil) {
do {
try self.mAudioSession.setPreferredInput(device);
ret = true;
}
catch {
self.logSwitch(device, error: error);
}
}
return ret;
}
}
Je voudrais comprendre pourquoi mon application ne fonctionne pas bien sur seulement certains appareils Bluetooth. Ces mêmes appareils fonctionnent correctement sur les autres applications de mon Cel.
J'ai fait un autre test: j'ai changé tout cela pour MPVolumeView, et exactement le même problème s'est produit, donc le problème semble être sur le lecteur audio.
Quelqu'un pourrait-il me suggérer de résoudre ce problème?
Thx.
Jorg, as-tu eu de la chance avec ça? Nous éprouvons le même problème. Certaines applications fonctionnent avec certains appareils, mais pas notre AVAudioSession. Je suis en train de noter que c'est un AVAudioSessionPortBluetoothA2DP mais pas de dés pour y jouer. Encore une fois, fonctionne sur la plupart des appareils BT, mais pas quelques-uns. – djneely