2014-04-29 15 views
14

Tôi đang sử dụng để hiển thị MPVolumeViewAirPlay nút. Tôi cần hiển thị hình nền tùy chỉnh cho AppleTV thông qua phản chiếu bằng âm thanh. Âm thanh đang phát đúng cách trên AppleTV nhưng hình nền không hiển thị. Tôi đang sử dụng AVAudioController để phát âm thanh. Tôi đã kiểm tra YouTube ứng dụng trong đó phản chiếu màn hình đang hoạt động từ ứng dụng để phát video. Có thể phản chiếu màn hình trong ứng dụng bằng cách sử dụng AVAudioController không?Cách thực hiện phản chiếu màn hình bằng AirPlay từ ứng dụng (không phải từ bảng điều khiển) trong iOS?

giúp tôi để giải quyết vấn đề này. Cảm ơn trước.

+0

Có sự nhầm lẫn nhỏ với thuật ngữ. Phản chiếu là điều xảy ra tự động khi người dùng chọn thiết bị đầu ra Airplay bằng các điều khiển hệ thống. AirPlay mirroring hiển thị trên màn hình từ xa chính xác giống như bạn thấy trên thiết bị. –

+0

@LeontyDeriglazov chúng tôi có thể hiển thị các chế độ xem khác nhau cho thiết bị bên ngoài và iPhone của chúng tôi. Nhưng tôi không thể làm điều đó từ ứng dụng của tôi trong khi tôi có thể làm điều đó từ bảng điều khiển iOS. – Mukesh2421

+0

Tôi đã thấy ứng dụng và Ảnh trên youtube (ứng dụng Gốc của iOS). Chúng tôi có thể bật tính năng phản chiếu màn hình từ ứng dụng. Làm thế nào tôi có thể làm như vậy? – Mukesh2421

Trả lời

0

Bạn có thể tìm tài liệu ở đây: https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/WindowAndScreenGuide/UsingExternalDisplay/UsingExternalDisplay.html

Về cơ bản đó là về việc tạo ra một thứ 2 UIWindow, nếu một màn hình ngoài có sẵn. Ở đó bạn có thể hiển thị hình nền của bạn, đó là một hình ảnh, tôi giả sử. Nên đơn giản để đặt thông qua số UIImageView vào số UIWindow thứ hai đó.

+0

Cảm ơn bạn đã phản hồi @plu. Tôi đã tạo giao diện người dùng cho màn hình thứ hai. Nó hoạt động nếu tôi bật tính năng phản chiếu màn hình từ bảng điều khiển. Nhưng nó không hoạt động khi tôi chạm vào Apple Tv trong các màn hình có sẵn trong ứng dụng của tôi. Tôi đang hiển thị màn hình có sẵn bằng MPVolumeView. – Mukesh2421

1

Thật không may, màn hình ngoài kết hợp với AirPlay sẽ chỉ trở thành hoạt động (và bài thích hợp thông báo) khi bạn kích hoạt AirPlay mirroring trong bảng điều khiển. Có vẻ như là no way to enable mirroring programmatically.

MPVolumeView có thể giúp người sử dụng chuyển hướng âm thanh đến loa AirPlay, nó không có gì để làm với màn hình phản chiếu.

+0

có vẻ như có cách nào đó, hãy xem ứng dụng miễn phí này http://www.wps.com/ios/ –

0

Bạn có thể màn hình phản ánh trong ứng dụng sử dụng tài sản AVPlayer.

Đó là tài sản

@property (nonatomic) BOOL usesAirPlayVideoWhileAirPlayScreenIsActive NS_DEPRECATED_IOS(5_0, 6_0); 

hoặc

@property (nonatomic) BOOL usesExternalPlaybackWhileExternalScreenIsActive NS_AVAILABLE_IOS(6_0);. 

Giá trị mặc định của usesAirPlayVideoWhileAirPlayScreenIsActiveusesExternalPlaybackWhileExternalScreenIsActive là NO.

usesAirPlayVideoWhileAirPlayScreenIsActive không có hiệu lực nếu allowsAirPlayVideo là KHÔNG.

usesExternalPlaybackWhileExternalScreenIsActive không ảnh hưởng gì nếu allowsExternalPlayback là KHÔNG.

0

Bạn sẽ cần phải lắng nghe các thông báo kết nối màn hình/ngắt kết nối:

NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; 

[center addObserver:self selector:@selector(handleScreenDidConnectNotification:) 
       name:UIScreenDidConnectNotification object:nil]; 
[center addObserver:self selector:@selector(handleScreenDidDisconnectNotification:) 
       name:UIScreenDidDisconnectNotification object:nil]; 

Trong tên: UIScreenDidConnectNotification bạn sẽ thấy rằng thiết bị của bạn bây giờ có 2 màn hình và bạn có thể làm thiết lập của bạn.

+1

Tính năng này hoạt động như thế nào? – KarenAnne

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