这里是我所有的代码播放一个mp4,mp4播放,但没有声音了
import UIKit
import AVFoundation
class ViewController: UIViewController {
@IBOutlet weak var containerView: UIView!
var playerLayer:AVPlayerLayer!
var player:AVPlayer!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let path = NSBundle.mainBundle().pathForResource("huoguo", ofType: "mp4")
let url = NSURL(fileURLWithPath: path!)
let asset = AVAsset(URL: url)
let playerItem = AVPlayerItem(asset: asset)
self.player = AVPlayer(playerItem: playerItem)
self.playerLayer = AVPlayerLayer(player: player)
self.playerLayer.frame = CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.width * 9 / 16)
self.containerView.layer.addSublayer(playerLayer)
//self.playerLayer.player?.volume = 1
self.playerLayer.player?.play()
}
}
我敢肯定它有声音,因为我可以听到当播放的mp4使用VLC,我错过了什么?
6条答案
按热度按时间cfh9epnr1#
检查您的手机是否处于静音模式。如果是静音模式,请尝试将下面的代码添加到
viewDidLoad
:斯威夫特2.3
雨燕3
斯威夫特4.2
或者只是
rpppsulh2#
对于Swift 4.2,将以下行放入
viewDidLoad
中适用于Swift 5
ffx8fchx3#
检查iPhone是否启用了静音模式,它是左上方2个按钮上方的一个按钮。一个允许静音模式的切换开关。
vdzxcuhz4#
我有多个视图控制器需要播放音频,即使设备设置为静音。因此,我没有更新每个
viewDidLoad
,而是将以下内容添加到 * AppDelegate. swift * 文件中的didFinishLaunchingWithOptions
方法中。注:
AVFoundation
try?
。agxfikkp5#
它的工作100%请尝试此导入AVKit,导入AVFoundation并将以下代码放入viewDidLoad()方法。
ldfqzlk86#
我尝试接受的答案,但不幸的是它不为我工作,失败与以下错误:
类型“String”没有成员“playback”
然后我跳转到定义,发现它以字符串值作为参数,如果有相同的错误,请使用下面的代码