我正在尝试在下载后添加AdColony.h frameWork,但是我在Xcode 5中找不到它.我能够在最后一个版本中找到它,但是在这个版本中找不到它.
我有一个UIWebView,可以在我的视图控制器中播放视频片段.当我退出应用程序时,音频将停止播放,虽然我可以按控制中心的播放再次继续播放.为此,我在AppDelegate.swift中使用以下代码.
当应用程序进入后台时,我希望音频自动开始播放.如何启用MPMusicPlayerController/AVAudioPlayer(我真的不确定它是什么)继续播放,这样用户就不必手动按播放了?
我还在目标设置中的背景模式下选中了"音频和Airplay",并将所需背景模式设置为"App播放音频或使用AirPlay传输音频/视频".
var error: NSError?
var success = AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: &error)
if !success {
NSLog("Failed to set audio session category. Error: \(error)")
}
Run Code Online (Sandbox Code Playgroud)
更新:我正在创建一个自定义视图appDel以容纳视频迷你播放器.这就是我创造它的方式.CustomWindow是一个自定义类UIWindow,我将迷你播放器添加到视图层次结构的顶部.在这段代码中,我在创建之前调用该方法UIWebView吗?
class AppDelegate: UIResponder, UIApplicationDelegate {
let myWind = CustomWindow(frame:UIScreen.mainScreen().bounds)
var window: UIWindow? {
set {
}
get {
return myWind
}
}
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
var error: NSError?
var success = AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: &error)
if success {
AVAudioSession.sharedInstance().setActive(true, error: nil) …Run Code Online (Sandbox Code Playgroud) 我的Cordova应用程序目前有两种播放音频的方式,一种适用于Web应用程序,另一种适用于跨平台本机应用程序.
<audio id="audio" src="audio.mp3"></audio>JS:document.getElementById('audio').play();new Media('audio.mp3').play();我不是两次写东西的粉丝.是否有适用于网络和移动设备的音频解决方案?还是优雅的后备方式?
我希望Cordova中的HTML5视频播放能够在振铃开关设置为"静音"时播放声音,就像Safari中的默认行为一样.我设法通过摆弄Cordova默认视图控制器来获得我想要的行为,但我宁愿不修改Cordova的默认控制器(部分因为它似乎错了,但主要是因为我们希望能够重新构建我们的Cordova应用程序,而不必担心修改库文件.)
所以我的主要问题是我不太确定如何继续向Cordova的控制器初始化添加一些代码.我不确定有几件事:
1)我错过了一个明显的设置让科尔多瓦为我做这件事吗?我看到媒体插件做了类似的事情,但找不到类似的视频.
2)我的临时解决方法/概念证明涉及修改Cordova控制器的"viewDidLoad"处理程序上的AudioSession类别.我是否在正确的位置修改控制器代码?这样做会破坏已经存在的会话吗?
2)如果从Obj-C/ios应用程序初始化的角度来看我的当前代码是正常的,我如何将它与Cordova集成,以便我们可以使用它构建一个新的Cordova项目(因为这是我们构建过程的一部分)?如果我将代码包装到插件中,"pluginInitialize"是否适合执行它?
我没有太多的Objective-C/iOS原生体验,所以如果这主要是知道正确的事情来搜索/或理解应用程序初始化答案,那么这个效果也将受到赞赏!
编辑:正在使用的Cordova版本是3.5.0-0.2.7
这是我卡在Cordova视图控制器中的代码:
我假设Cordova的WebView使用Apple默认音频设置(apple docs)进行视频播放:
AVAudioSessionCategoryAmbient
声音播放非主要应用的类别 - 也就是说,您的应用可以在声音关闭时成功使用.
我假设我想使用AVAudioSessionCategoryPlayback设置.
我编辑了主要的Cordova视图控制器:
【工程/ IOS建造] /CordovaLib/Classes/CDVViewController.m"
将此代码段放在 "viewDidLoad"处理程序中的另一个答案中:
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
BOOL ok;
NSError *setCategoryError = nil;
ok = [audioSession setCategory:AVAudioSessionCategoryPlayback
error:&setCategoryError];
if (!ok) {
NSLog(@"%s setCategoryError=%@", __PRETTY_FUNCTION__, setCategoryError);
}
Run Code Online (Sandbox Code Playgroud)
然后我们的视频播放音频并且铃声成功静音,但是,如上所述,我想了解如何将此代码与Cordova集成,而不是就地编辑.
我有一个PhoneGap应用程序,我在PhoneGap 1.8.1下编写,它在iOS 5.1下运行良好.
我需要更改应用程序,以便下载最新的Xcode 4.5和iOS 6 SDK.但是当我构建应用程序并将其部署到我的iPhone 4s时,当手机被锁定时,HTML 5音频将无法播放.
我尝试升级应用程序以使用PhoneGap 2.1.0但是当手机被锁定时,应用程序仍然无法播放音频.(这是我服务器的mp3文件流.)
这一切在模拟器中工作正常,但在运行iOS 6的iPhone 4上无效.
我有必要的背景模式设置为应用程序播放音频和应用程序不在后台运行=是.以前在iOS 5.1下工作但在iOS 6下没有.我也尝试修改sound.m一些推荐的文件.即使我不需要在iOS 5.1下执行此操作
我已经尝试了一些我在互联网上找到的例子,但似乎没有一个在iOS 6中工作.并且允许HTML 5音频在手机锁定的情况下流入.
当iPhone在PhoneGap 1.8.1或2.1下的iOS 6中被锁定时,我需要做些什么才能播放HTML 5音频?
我正在使用YouTube iframe_api在iOS 7上的UIWebView中播放视频,当我点击主页按钮后应用程序转到后台,视频暂停.
有没有办法让视频的音频继续在后台播放?
这个问题不是这个UIWebView的重复帖子:当应用程序进入后台时,HTML5音频在iOS 6中暂停
我可以从控制中心访问音轨但音频已停止.如何避免暂停状态,或者如何在后台线程中重放曲目?
我的所有代码都在这里.您可以将代码粘贴到新的空ios应用程序的AppDelegate中
我没有工作,它出现在控制中心,但当应用程序进入后台时音乐暂停!
#import "AppDelegate.h"
#import <AVFoundation/AVFoundation.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
BOOL ok;
NSError *setCategoryError = nil;
ok = [audioSession setCategory:AVAudioSessionCategoryPlayback
error:&setCategoryError];
if (!ok) {
NSLog(@"%s setCategoryError=%@", __PRETTY_FUNCTION__, setCategoryError);
}
UIViewController *vc = [[UIViewController alloc] init];
UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController: vc];
self.window.rootViewController = nav;
//WEBVIEW
UIWebView *myWeb …Run Code Online (Sandbox Code Playgroud)我们的应用程序在UIWebView中托管HTML.我们很少有用户注意到视频不再播放音频,所有这些都在iOS 6中.我已经研究过这个问题并且无法复制错误,但用户投诉仍在继续.最初我认为用户不小心将他们的设备,但似乎并非如此.
这里有人注意到任何类似的问题吗?
我有一个应用程序在UIWebView中播放Youtube和Vimeo等几个webvideos.播放视频时,可以通过AirPlay将其发送到Apple TV.
目前,在通过AirPlay播放期间,当我暂停应用并将其移至后台时,视频会停止.
我希望的结果是视频将继续在Apple TV上播放.
经过一些研究,我发现我必须Required background modes在Info.plist中设置App plays audio.不幸的是,这不起作用.
因此,当应用程序移动到后台时,需要设置什么来保持视频在AirPlay上播放.
ios ×6
audio ×3
cordova ×3
html5 ×2
ios6 ×2
uiwebview ×2
airplay ×1
apple-tv ×1
frameworks ×1
html5-audio ×1
ios7 ×1
mp3 ×1
objective-c ×1
video ×1
xcode ×1
youtube ×1
youtube-api ×1