2013-09-26 164 views
9

Cho đến giờ tôi đã sử dụng một số MPVolumeView để điều khiển âm lượng thiết bị iOS của mình, hoạt động tốt cho đến khi cập nhật lên iOS7.MPVolumeView không còn hoạt động trên các thiết bị iOS 7

Tôi đã tạo dự án thử nghiệm (Base SDK 6.1, Deployment Target 5.1) chỉ có một MPVolumeView trên một đơn UIView. Trong khi chạy ứng dụng này trên iPad của tôi 1 (iOS 5.1) hoạt động tốt, chạy nó trên iPhone 5 của tôi (iOS 7) thì không.

Trên iPad, kéo thanh trượt âm lượng sẽ thay đổi toàn bộ âm lượng thiết bị. Ngoài ra khi tôi sử dụng các nút phần cứng, điều này sẽ phản ánh trên thanh trượt của tôi trong VolumeView. Trên iPhone của tôi, mặt khác, có vẻ như không còn kết nối giữa các điều khiển đó nữa. Các nút phần cứng không dẫn đến bất kỳ thay đổi nào trên VolumeView của tôi, cũng không thay đổi thanh trượt trong kết quả điều khiển âm lượng ở mức âm lượng thiết bị.

Tôi cần phải có ví dụ: các iPodMusicPlayer chơi một cái gì đó, sau đó nó hoạt động. Nếu không thì không.

Có ai làm cách nào tôi có thể làm điều này để hoạt động trở lại không? Tôi thực sự cần phải kiểm soát toàn bộ mức âm thanh của thiết bị (không nhất thiết phải lập trình, người dùng cần có khả năng thay đổi nó trong ứng dụng của tôi), không chỉ mức âm thanh do chính ứng dụng phát.

Trả lời

0

Sau khi nghiên cứu dài, tôi đã gửi câu trả lời đến đây. Nhưng tôi không chắc chắn thử với điều này nếu bạn nhận được bất kỳ vấn đề cho tôi biết

Thay vì MPVolumeView, bạn cũng có thể sử dụng:

AVAudioPlayer *testPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"m" ofType:@"caf"]] error:nil]; 

    [testPlayer prepareToPlay]; 

trước khi cài đặt MPVolumeView.

nếu ứng dụng của bạn sử dụng chế độ Audio sessionAVAudioSessionModeVoiceChat không cho phép MPVolumeView hoạt động tốt mà không có giải pháp thay thế.