ios – 使用Avplayer在后台播放视频

ios – 使用Avplayer在后台播放视频,第1张

概述在我的iPhone应用程序中,我想在应用程序进入后台模式时继续播放视频. 我正在使用AVPlayer而没有找到任何方式在后台播放视频.如果有人能帮助我,我将非常感激. 谢谢 令我惊讶的是,我可以说这可以实现,我只是做到了. 此方法支持所有可能性: >用户锁定的屏幕; >按下主页按钮; >切换到其他应用程序. 只要你有一个运行iOS的AVPlayer实例就可以防止设备自动锁定. 首先,您需要配置应用 在我的iPhone应用程序中,我想在应用程序进入后台模式时继续播放视频.

我正在使用AVPlayer而没有找到任何方式在后台播放视频.如果有人能帮助我,我将非常感激.
谢谢

解决方法 令我惊讶的是,我可以说这可以实现,我只是做到了.

此方法支持所有可能性:

>用户锁定的屏幕;
>按下主页按钮;
>切换到其他应用程序.

只要你有一个运行iOS的AVPlayer实例就可以防止设备自动锁定.

首先,您需要配置应用程序以支持Info.pList文件中的音频背景,并在uibackgroundmodes数组中添加audio元素.

然后将您的AppDelegate.m放入 – (BOol)应用程序:(UIApplication *)应用程序dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions:

这些方法

[[AVAudioSession sharedInstance] setDelegate: self];    [[AVAudioSession sharedInstance] setcategory:AVAudioSessioncategoryPlayback error:nil];

和#import< AVFoundation / AVFoundation.h>

然后在控制AVPlayer的视图控制器中

-(voID)vIEwDIDAppear:(BOol)animated{    [super vIEwDIDAppear:animated];    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];    [self becomeFirstResponder];}

- (voID)vIEwWilldisappear:(BOol)animated{    [mPlayer pause];        [super vIEwWilldisappear:animated];    [[UIApplication sharedApplication] endReceivingRemoteControlEvents];    [self resignFirstResponder];}

然后回应

- (voID)remoteControlReceiveDWithEvent:(UIEvent *)event {    switch (event.subtype) {        case UIEventSubtypeRemoteControlTogglePlayPause:            if([mPlayer rate] == 0){                [mPlayer play];            } else {                [mPlayer pause];            }            break;        case UIEventSubtypeRemoteControlPlay:            [mPlayer play];            break;        case UIEventSubtypeRemoteControlPause:            [mPlayer pause];            break;        default:            break;    }}

如果用户按下主页按钮,则需要另一个技巧来恢复再现(在这种情况下,再现以淡出暂停).

当你控制视频的再现(我有播放:和暂停:方法)设置

[[NSNotificationCenter defaultCenter] addobserver:self selector:@selector(applicationDIDEnterBackground:) name:UIApplicationDIDEnterBackgroundNotification object:nil];

[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDIDEnterBackgroundNotification object:nil];

以及将启动计时器并恢复再现的相应方法.

- (voID)applicationDIDEnterBackground:(NSNotification *)notification{    [mPlayer performSelector:@selector(play) withObject:nil afterDelay:0.01];}
总结

以上是内存溢出为你收集整理的ios – 使用Avplayer在后台播放视频全部内容,希望文章能够帮你解决ios – 使用Avplayer在后台播放视频所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108342.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存