这是我嵌入视频的方式。它在模拟器中有声音,但在真实设备上没有声音(iOS 9.0.2(13A452))Xcode 7.1.1。
这是我用来播放它的代码:
if let youtubeID = youtubeID {
let embededHTML = "<html><body><iframe src=\"http://www.youtube.com/embed/\(youtubeID)?playsinline=1\" width=\"\(width)\" height=\"\(height)\" frameborder=\"0\" allowfullscreen></iframe></body></html>"
cell!.webView.allowsInlineMediaPlayback = true
cell!.webView.scalesPageToFit = true
cell!.webView.mediaPlaybackAllowsAirPlay = true
cell!.webView.mediaPlaybackRequiresUserAction = false
cell!.webView.loadHTMLString(embededHTML, baseURL: NSBundle.mainBundle().bundleURL)
}
答案 0 :(得分:11)
大多数开发人员遇到了他们忘记的这个问题 打开iPhone左侧的铃声按钮。 它对我有用。
答案 1 :(得分:8)
SWIFT 2.0版本我遇到了同样的问题,解决方案是在AppDelegate中添加
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
}
catch let error as NSError {
print(error)
}
do {
try AVAudioSession.sharedInstance().setActive(true)
}
catch let error as NSError {
print(error)
}
// Override point for customization after application launch.
return true
}
这会在我的UIWebView中启用声音
答案 2 :(得分:6)
我自己找到了答案:解决方案:
if let youtubeID = youtubeID {
let embededHTML = "<!DOCTYPE html><html><head><style type=\"text/css\"> body { margin: 0; padding: 0; } body, html { height: 100%; width: 100%; } </style> </head> <body> <iframe id=\"player\" type=\"text/html\" width=\"100%\" height=\"100%\" src=\"http://www.youtube.com/embed/\(youtubeID)?enablejsapi=1&playsinline=1\" frameborder=\"0\"></iframe> <script> var tag = document.createElement('script'); tag.src = \"https://www.youtube.com/iframe_api\"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubeIframeAPIReady() { player = new YT.Player('player', { events: { 'onReady': onPlayerReady } }); } function onPlayerReady(event) { event.target.playVideo(); } </script> </body></html>"
cell!.webView.allowsInlineMediaPlayback = true
cell!.webView.scalesPageToFit = true
cell!.webView.mediaPlaybackAllowsAirPlay = true
cell!.webView.mediaPlaybackRequiresUserAction = false
cell!.webView.loadHTMLString(embededHTML, baseURL: NSBundle.mainBundle().bundleURL)
}