2013-09-22 25 views
15

Tôi đang sử dụng AudioSessionGetProperty để kiểm tra 'audioIsAlreadyPlaying'. Xcode nói: 'AudioSessionGetProperty' bị phản đối: thứ nhất bị phản đối trong iOS 7.0Thay thế cho việc không dùng nữa AudioSessionGetProperty, cho iOS 7

Hãy ai đó có thể cho tôi biết những gì tôi nên sử dụng thay vào đó, để có được những audioIsAlreadyPlaying tài sản.

AudioSessionGetProperty(kAudioSessionProperty_OtherAudioIsPlaying, 
         &propertySize, 
         &audioIsAlreadyPlaying); 
return audioIsAlreadyPlaying; 

Trả lời

38

Thử sử dụng thuộc tính AVAudioSession 's otherAudioPlaying trên iOS 6.0 trở lên.

[[AVAudioSession sharedInstance] isOtherAudioPlaying]

+1

Điều đó dường như đã thực hiện thủ thuật và mã nhỏ hơn mã không dùng nữa, tốt. Cảm ơn Benoit! –

+0

Để tiết kiệm một số bạn tra cứu, điều này đòi hỏi: #import

+0

hi bạn có thể nói làm thế nào để thiết lập các tài sản cho "kAudioSessionProperty_AudioCategory"? – Anoop

1

Lớp AVAudioSession thay thế API AudioSession phản đối. Đối với những gì bạn đang làm, hãy xem thuộc tính otherAudioPlaying.

+2

Cảm ơn Rickster! Tôi đã cho Benoit dấu màu xanh lá cây vì anh ấy đã cung cấp dòng mã, và tôi không biết ai đã đăng đầu tiên. Cảm ơn vì ý kiến ​​của bạn. –