- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前在 iOS 4.3.5 上运行,并尝试让我的 MPMoviePlayerViewController
在进入后台后继续播放。
我按照上面的描述实现了所有内容
和
我还将 UIBackgroundMode 设置为音频
。
我的自定义 MPMoviePlayerViewController 类是从 TabBarApplication 中这样调用的:
NSURL *streamUrl = [NSURL URLWithString:STREAM_URL];
self.playerViewController = [[CustomMoviePlayerViewController alloc] initWithContentURL:streamUrl];
// Register for the playback finished notification
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(myMovieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:self.playerViewController.moviePlayer];
// Present
[self presentMoviePlayerViewControllerAnimated:self.playerViewController];
// Play the movie!
self.playerViewController.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;
[self.playerViewController.moviePlayer prepareToPlay];
[self.playerViewController.moviePlayer play];
我的CustomMovePlayerController
内部如下所示:
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}
-(void)viewWillAppear:(BOOL)animated {
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}
-(void)viewWillDisappear:(BOOL)animated {
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];
[super viewWillDisappear:animated];
}
-(BOOL)canBecomeFirstResponder {
return YES;
}
-(void)remoteControlReceivedWithEvent:(UIEvent *)event {
[super remoteControlReceivedWithEvent:event];
NSLog(@"remoteControlReceived");
NSLog(@"%d", [[AVAudioSession sharedInstance] isActive]);
if (event.type == UIEventTypeRemoteControl) {
switch (event.subtype) {
case UIEventSubtypeRemoteControlPlay:
[self.moviePlayer play];
break;
case UIEventSubtypeRemoteControlPause:
[self.moviePlayer pause];
break;
default:
break;
}
}
}
我的 MPMoviePlayerViewController 的主要问题是,它不响应 remoteControlReceivedWithEvent
消息,这是为什么?我是否子类化了错误的东西?我的基于选项卡栏的应用程序是否会阻止我这样做?
最后但并非最不重要的 - applicationDidFinishLaunchingWithOptions
包含以下内容:
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
[audioSession setActive:YES error:nil];
我只是不知道缺少了什么...非常感谢所有帮助!
最佳答案
我想我可以回答这两个问题:)
您想播放什么格式的文件?我的应用程序使用 MPMoviePlayerViewController 作为背景音频已有一段时间了,但最近有报告称它不再在后台播放。
原来是AAC文件;它们是带有章节和每章封面艺术的播客... iOS 5 添加了对它们的改进支持,但它必须使 MPMoviePlayerViewController 认为它正在播放视频。据我所知,iOS 4.3 左右背景视频被关闭。
尝试使用普通 MP3 文件,它仍然适用于我。我即将将 AAC 问题记录为 Apple 的错误。
锁屏和通知栏遥控按钮都会发送UIEventSubtypeRemoteControlTogglePlayPause
事件,而不是单独播放和暂停。所以我处理这样的事件:
- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
switch (event.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
if (controller.playbackState == MPMusicPlaybackStatePlaying) {
[controller pause];
} else {
[controller play];
}
break;
//etc
}
关于iphone - MPMoviePlayerViewController 在后台运行并使用远程控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6893323/
嘿。 我在使用 Selenium Remote control 运行 selenium 测试时遇到问题。 打开控制台窗口并键入以下命令后: java -jar selenium-server-stan
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 10 个月前关闭。 Improve this
在 reveal.js Github 中,有一种方法可以使用触摸设备激活演示文稿的远程控制,而无需使用第三方脚本。 这是: Reveal.initialize({ dependencies:
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 5 年前。 Improve this ques
我每天 24 小时在专用机器上运行 VB.NET 应用程序。我希望能够接收状态更新并远程控制/调试应用程序(即通过互联网从另一台计算机)。 如果通信是轻量级的(就发送和接收的字节而言),那将是一个优势
这是一个将在 8 小时内上交的项目!我们被这个问题困扰,并认为这个地方是最后的手段。 我正在尝试使用 Arduino 打开/关闭远程控制 socket 。这样做时我们会遇到不一致的情况。有时,当它进入
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 7 年前。 Improve this q
我想在我的房间手册中远程控制 socket ,而无需在我的树莓派上安装额外的库。我想在 C 中使用 UART 接口(interface)。 socket 有 433 Mhz 接收器,我使用 433 M
我正在尝试从 C# 控制 VLC 媒体播放器。我尝试使用 .Net 中的 FindWindow() 命令获取窗口句柄,但我发现每次播放文件时窗口名称都会更改。我遇到的最大问题是将 wm_command
我一直很高兴地将 XPath 与 Selenium 一起使用,甚至将 getEval 与 Javascript 一起使用,但一位同事说,如果能够在 Selenium 中使用 JQuery 选择器不是很
过去,Netscape 有一项功能,允许您从命令行远程控制浏览器 session (使用“-remote”标志)。我正在寻找类似的功能,但在现代浏览器中。 Mplayer 的 slave mode 是
我正在尝试控制安装在远程计算机上的 Windows 服务。我正在使用 ServiceController 类。 我有这个: ServiceController svc = new ServiceCo
这是我第一次在这里发帖。 我正在做一个项目,我想通过不同的输入模式(例如多点触控、3D 鼠标...)来控制 Windows Media Player。目前,我正试图找到一种远程控制 Windows M
我们在屏蔽箱里用手机做实验。 无法进行无线/ radio 通信,因此我们需要使用 USB 电缆。 “androidscreencast”非常适合通过 USB 远程控制 android 设备。 现在有必
启用 WinRM 远程服务: winrm quickconfig 查看 WinRM 服务监听状态: winrm e winrm/config/listener
我正在寻找一个 Emacs (& Chrome) 包,它可以 每个应用程序之间的通信——尤其是从 Emacs 远程控制 Chrome,类似于 Mozrepl对于火狐。 我找到了一个名为 skewer-
Selenium Remote Control 有一个“get_html_source”方法,它以字符串形式返回当前页面的源。 据我所知,此方法适用于 Firefox 和 Safari 中的所有情况。
我需要创建某种可以与 UPnP 媒体服务器交互的 Remote 。 我读到过 UPnP AV 堆栈有类似三种应用程序:媒体服务器、媒体渲染器和控制点。起初,我认为控制点是我想要编程的,但是,在浏览了几
我正在尝试找到一种工具来从 Windows 7 机器远程控制运行 Windows CE 6.0 的摩托罗拉 MC3190 设备。 我已经将 Mymobiler 与 Intermec CN3 设备一起使
我是一名优秀的程序员,十分优秀!