Tôi có một ứng dụng quay video và tôi muốn có thể phát nhạc nền trong khi ghi âm thanh + video.AVAudioSession setCategory không hoạt động
Tôi có thể thực hiện việc này nếu tôi đặt danh mục AVAudioSession
thành PlayAndRecord
trong didFinishLaunchingWithOptions
. Tuy nhiên, điều này gây ra trục trặc trong âm thanh bất cứ khi nào chế độ xem có camera đi vào hoặc thoát khỏi nền trước và dường như không thể loại bỏ: https://forums.developer.apple.com/message/74778#74778
Tôi có thể gặp trục trặc nếu nó xảy ra khi tôi bắt đầu/dừng quay video, nhưng điều đó có nghĩa là tôi cần thay đổi danh mục AVAudioSession
từ Ambient
thành PlayAndRecord
khi nhấn nút và điều này dường như không thể thực hiện được.
Làm cách nào để thay đổi danh mục AVAudioSession
?
Tôi cố gắng này:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionMixWithOthers
error:nil];
Nhưng nhạc nền dừng lại khi quay khởi động.
Tiếp theo bài này: AVCaptureSession and background audio iOS 7
tôi đã cố gắng khử hoạt phiên sau đó thiết lập các thể loại:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error];
[session setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionMixWithOthers | AVAudioSessionCategoryOptionDefaultToSpeaker
error:nil];
[session setActive:YES error:&error];
Tôi cũng đã cố gắng nghe cho AVAudioSessionRouteChangeNotification
và đặt danh mục trong handler mà sau khi vô hiệu phiên. Nhưng nhạc nền luôn tắt khi ứng dụng bắt đầu ghi.
Tại sao tôi không thể thay đổi danh mục AVAudioSession
?
Nói cách đơn giản, ứng dụng ghi âm không hoạt động trong khi âm nhạc ... và bạn muốn cả hai làm việc cùng nhau phải không ?? –
có, nhưng nó cần phải bắt đầu ở chế độ Ambient – Cbas