2012-01-10 26 views
10

Tôi đã triển khai phát lại âm thanh bằng AVPlayer, phát một url mp3 từ xa.MPNowPlayingInfoCenter nowPlayingInfo bị bỏ qua cho âm thanh AVPlayer qua AirPlay

Tôi muốn hiển thị thông tin về âm thanh hiện đang phát bằng phương thức MPNowPlayingInfoCenternowPlayingInfo.

Khi tôi khóa màn hình, tôi thấy hình ảnh và tựa đề tôi đặt, vì vậy tôi biết rằng phương pháp này đang đăng ký thông tin theo một cách nào đó, nhưng khi tôi chuyển sang AirPlay sang AppleTV, màn hình hiển thị giống như đầu ra video, với thanh tiến trình ở dưới cùng, nhưng thời gian trôi qua và thời lượng hiển thị chính xác.

Nếu tôi đặt cùng một số nowPlayingInfo, nhưng sau đó bắt đầu một số âm thanh bằng AudioQueue, sau đó hiển thị hình ảnh trên nửa màn hình (trông giống như đang phát podcast với ứng dụng iPod/Âm nhạc).

Đây có phải chỉ là giới hạn của hỗ trợ AirPlay cho âm thanh sử dụng AVPlayer hoặc có cách nào đó để hiển thị hình ảnh và thông tin đúng cách không?

Trả lời

13

Ok - Tôi đào qua các diễn đàn về phát triển táo và tìm thấy gợi ý.

Nếu bạn đang sử dụng AVPlayer chỉ cho âm thanh và muốn nó hoạt động ở chế độ nền trong khi phát sóng, bạn cần tắt cài đặt allowsAirPlayVideo.

Dường như AVPlayer trên iOS 5+ giả định rằng nó đang phát lại video qua AirPlay và do đó không cho phép tạo nền, trừ khi bạn vô hiệu hóa hoàn toàn tính năng phát sóng video.

Khi bạn tắt tính năng này (tức là self.player.allowsAirPlayVideo = NO;) thì âm thanh của bạn sẽ vẫn phát qua AirPlay, nhưng giờ đây, âm thanh sẽ hiển thị chính xác giao diện âm thanh/ipod.

+0

Nếu tôi thêm 'player.allowsExternalPlayback = false' không có video hoặc âm thanh tồn tại qua AirPlay :( – anitteb

4

Nếu bạn đang ở trên iOS7 bạn đã có tắt tính năng bên ngoài:

self.player.allowsExternalPlayback = NO;