Tôi sợ rằng không có tài liệu thông báo cho những sự kiện
Bạn có thể may mắn và tìm một cái gì đó bằng cách can thiệp tất cả các thông báo đăng tải như trong các câu trả lời sau đây:.
Trapping and tracing all notifications
How to receive NSNotifications from UIWebView embedded YouTube video playback
Có tuy nhiên là một cách đơn giản là liên kết điều khiển của bạn với những người MPMoviePlayerControler
's. Bằng cách đó chắc chắn là không có giấy tờ và nó mang một nguy cơ mạnh mẽ bị từ chối khi cố gắng bán ứng dụng của bạn trên iTunes.
Trước tiên, bạn cần định vị giao diện trong phạm vi MPMoviePlayerController
, cho đến ngày hôm nay được biểu thị bằng một lớp được gọi là MPInlineVideoOverlay
khi sử dụng giao diện được nhúng. Một lần nữa, xin lưu ý rằng điều này mang một cơ hội lớn hoặc phá vỡ như Apple có thể quyết định bất cứ ngày nào để sử dụng một tên khác nhau.
/**
* This quirky hack tried to locate the interface view within the supposingly opaque MPMoviePlayerController
* view hierachy.
* @note This has a fat chance of breaking and/or getting rejected by Apple
*
* @return interface view reference or nil if none was found
*/
- (UIView *)interfaceViewWithPlayer:(MPMoviePlayerController *)player
{
for (UIView *views in [player.view subviews])
{
for (UIView *subViews in [views subviews])
{
for (UIView *controlView in [subViews subviews])
{
if ([controlView isKindOfClass:NSClassFromString(@"MPInlineVideoOverlay")])
{
return controlView;
}
}
}
}
return nil;
}
Nếu trở về một cái nhìn đúng đắn, bạn chỉ cần thêm bổ sung của riêng bạn để giao diện trên để của nó bằng cách sử UIView addSubview:
Một khi bạn đã làm điều đó, điều khiển của bạn sẽ là một phần của giao diện của người chơi, hiển thị và ẩn ngay cùng với nó (cũng tôn trọng mọi hoạt ảnh, v.v.).
Sidenote giải thích rằng rủi ro từ chối được đề cập: Tôi đã sử dụng bản hack chính xác này trong một bản phát hành ứng dụng chính và nó đã trải qua không bị phát hiện .... – Till