gpt4 book ai didi

ios - 提取MPMoviePlayerViewController音频以在后台继续收听

转载 作者:行者123 更新时间:2023-12-03 02:10:58 27 4
gpt4 key购买 nike

首先,我几天以来一直在为我的问题寻找解决方案(包括此处)。我发现有几个主题可以解决相同的问题,但它们根本无法解决我的问题。

我正在开发一个播放存储在该应用程序中的mp4视频以及mp4在线视频的应用程序。

我正在使用MPMoviePlayerViewController来播放视频,并且在我进入应用程序时可以完美运行,但是按下主屏幕按钮(背景)时出现问题。声音停止了,我的目标是当我不在应用程序中时(当Iphone锁定或处于后台时)继续收听视频音频。

我已经配置了选项,以继续在plist文件的后台收听音频,并且还尝试创建音频 session ,但是没有任何效果。

我在搜索中发现,当您不在应用程序中时,Apple不允许继续播放视频,要实现此目的,您必须执行以下操作:分离音频并在没有视频的情况下继续播放,然后当用户回来时到应用程序,从音频时刻恢复视频,但我找不到有关此方法的太多信息。

我创建了一个示例项目,尝试做不同的事情,目前,我的代码是这样的:

H。文件:

#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>
#import <AVFoundation/AVFoundation.h>

@interface ViewController : UIViewController

@property (strong, nonatomic) MPMoviePlayerController *moviePlayer;
@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
@property (strong, nonatomic) AVAudioSession *audioPlayer;




@end

米文件
-(void)playVideo {

NSString *urlStr = [[NSBundle mainBundle] pathForResource:@"video"
ofType:@"mp4"];
NSURL *url = [NSURL fileURLWithPath:urlStr];
_moviePlayer= [[MPMoviePlayerController alloc] initWithContentURL:url];

[self.view addSubview:_moviePlayer.view];
int posTitulo = (int) roundf(self.titleLabel.frame.origin.y);
int altTitulo = (int) roundf(self.titleLabel.frame.size.height);
int anchTitulo = (int) roundf(self.titleLabel.frame.size.width);
_moviePlayer.view.frame = CGRectMake(0,posTitulo+altTitulo, anchTitulo, anchTitulo * 0.65);
[_moviePlayer play];

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];

NSError *activationError = nil;
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayback error:&activationError];
[audioSession setActive:YES error:&activationError];


}

如果有人取得了类似的成就,我将感谢他的帮助。

非常感谢你

最佳答案

我终于解决了。

我使用AVPlayer代替了MPMoviePlayerController,它来自苹果开发者网站的“指南”:

https://developer.apple.com/library/ios/qa/qa1668/_index.html

关于ios - 提取MPMoviePlayerViewController音频以在后台继续收听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24063603/

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