- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
MPMovieplayer 横向问题太多。我的应用程序处于纵向模式。但我想要横向模式的视频。我已经具有视频的横向/纵向功能。我正在使用以下代码:
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS7 = @"MPInlineVideoFullscreenViewController";
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS8 = @"AVFullScreenViewController";
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
if ([[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS7)] ||
[[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS8)])
{
return UIInterfaceOrientationMaskAllButUpsideDown;
}
else {
return UIInterfaceOrientationMaskPortrait;
}
该代码在 iOS 7 和 iOS8 中都运行良好。但问题是,当设备处于横向模式时,视频首先以纵向模式打开。在方向改变后,应用程序可以正常工作。
提前致谢。
最佳答案
经过长时间的研发和不同的方法,并花费了 2-3 天。最后我在 friend 的帮助下得到了答案。如果我们的 View Controller 处于纵向模式,则以下代码无法将播放器 View 插入横向 View 。
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS7 = @"MPInlineVideoFullscreenViewController";
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS8 = @"AVFullScreenViewController";
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
if ([[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS7)] ||
[[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS8)])
{
return UIInterfaceOrientationMaskAllButUpsideDown;
}
else {
return UIInterfaceOrientationMaskPortrait;
在我的例子中,问题是我的 UIWebView 容器 View Controller 经常进入纵向模式。我不知道在 UINavigationController 中推送 ViewController 后遵循未为该 ViewController 调用的方向方法。
-(BOOL)shouldAutorotate;
-(NSUInteger)supportedInterfaceOrientations;
为了解决这个问题,我将在 ViewDidLoad 方法中添加以下代码
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
然后在 viewWillDisappear 中的以下代码中
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
上面的代码终于解决了我的问题。
感谢所有支持我解决这个问题的人。
关于ios - MPInlineVideoFullscreenViewController 和 AVFullScreenViewController 首次进入纵向模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27781128/
使用此代码允许媒体播放器在全屏时横向旋转(应用程序不支持): // handle orientation for the device func application (_ application:
MPMovieplayer 横向问题太多。我的应用程序处于纵向模式。但我想要横向模式的视频。我已经具有视频的横向/纵向功能。我正在使用以下代码: static NSString * const VID
我正在尝试在开始播放某些内容(例如任何 YouTube 视频)时获取视频链接。 首先我捕捉到视频开始播放的时间 [[NSNotificationCenter defaultCenter] addObs
我是一名优秀的程序员,十分优秀!