gpt4 book ai didi

ios - iOS 上嵌入 YouTube 视频的媒体回调

转载 作者:行者123 更新时间:2023-12-03 06:17:18 26 4
gpt4 key购买 nike

我将 YouTube 视频嵌入到 UIWebView对于 iOS 应用程序。我在 this YouTube blog post 使用“方法 2”嵌入视频。这很好用,除了因为 iOS 管理媒体播放器,我无法确定视频是否正在播放或已播放完毕。我不想在播放视频时将该 View 与另一个 View 交换,但我没有找到确定这一点的好方法。有任何想法吗?如果有办法获得 JavaScript 回调,那将起作用,或者如果有办法使用 HTML5 <video> 嵌入 YouTube 视频标签,这也可以(我已经尝试过了,但没有成功)。

最佳答案

只需为 MPAVControllerPlaybackStateChangedNotification 添加观察者。

[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(playbackStateDidChange:)
name:@"MPAVControllerPlaybackStateChangedNotification"
object:nil];

然后开始听:
- (void)playbackStateDidChange:(NSNotification *)note
{
NSLog(@"note.name=%@ state=%d", note.name, [[note.userInfo objectForKey:@"MPAVControllerNewStateParameter"] intValue]);
int playbackState = [[note.userInfo objectForKey:@"MPAVControllerNewStateParameter"] intValue];
switch (playbackState) {
case 1: //end
;
break;
case 2: //start
;
break;
default:
break;
}
}

如果您好奇,可以探索其他州。此外,每个对其他通知感兴趣的人都可以注册以查看所有通知:
CFNotificationCenterAddObserver(CFNotificationCenterGetLocalCenter(), 
NULL,
noteCallbackFunction,
NULL,
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);

然后检查发生了什么:
void noteCallbackFunction (CFNotificationCenterRef center,
void *observer,
CFStringRef name,
const void *object,
CFDictionaryRef userInfo)
{
NSLog(@"notification name: %@", name);
NSLog(@"notification info: %@", userInfo);
}

玩得开心!

关于ios - iOS 上嵌入 YouTube 视频的媒体回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42324261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com