2011-12-11 22 views
8

Tôi đã xem một số diễn đàn và tất cả đều không thể đưa ra câu trả lời thỏa mãn.Phát và quay video trong khi phát một số bản nhạc backgorund

Mong muốn của tôi là có thể phát và quay video trong khi phát nhạc ở chế độ nền. Tôi đã làm được điều đó với sự trợ giúp của một đoạn trích mà tôi tìm thấy. đây là mã số:

AVAudioSession *session = [AVAudioSession sharedInstance]; 
session.delegate = self; 

NSError *error = nil; 
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error]; 

OSStatus propertySetError = 0; 

UInt32 allowMixing = true; 

propertySetError = AudioSessionSetProperty (

              kAudioSessionProperty_OverrideCategoryMixWithOthers, // 1 

              sizeof (allowMixing),         // 2 

              &allowMixing           // 3 

              ); 
[session setActive:YES error:&error]; 

Vấn đề là trong khi ghi, tôi chỉ có thể nghe nhạc nền qua loa tai thay vì loa thông thường.

Làm cách nào để đặt loa thông thường hoạt động sao cho phiên ghi âm sẽ không bị gián đoạn?

Cảm ơn trước,

+0

Bạn đã bao giờ giải quyết vấn đề này chưa? – shabbirv

+0

hey, bạn có mã mẫu về những gì bạn đã làm ở đây không? – Jatin

Trả lời

3

Khi bạn ghi đè lên các loại seesion với kAudioSessionProperty_OverrideCategoryMixWithOthers * * nó sử dụng loa nhỏ ở phía trên của thiết bị (ngoài camera frontend). Để sử dụng loa thông thường làm thiết bị đầu ra, thay vào đó bạn nên chuyển hướng tuyến đầu ra của phiên âm thanh của mình. Sau đây là đoạn mã để đạt được điều này

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; 

AudioSessionSetProperty ( 
    kAudioSessionProperty_OverrideAudioRoute,       
    sizeof (audioRouteOverride),          
    &audioRouteOverride            
); 

Thay thế mã này bằng cách ở trên và nó sẽ hoạt động. Bạn có thể tham khảo thêm Redirect Output Audio trên cổng thông tin dành cho nhà phát triển của Apple.

+1

có hoạt động với ios 8 không? –

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