5

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?

+0

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 ?? –

+0

có, nhưng nó cần phải bắt đầu ở chế độ Ambient – Cbas

Trả lời

0

Vui lòng thử loại này

AVAudioSessionCategoryMultiRoute

hoặc kiểm tra cả hai loại AVAudioSessionCategoryPlayAndRecord | AVAudioSessionCategoryRecord

Các vấn đề liên quan