这是我播放 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()
}
}
我确定它有声音,因为我在使用 VLC 播放 mp4 时可以听到,我是不是错过了什么?
最佳答案
检查您的手机是否处于静音模式。如果它是无声的,请尝试将下面的代码添加到 viewDidLoad
:
swift 2.3
try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: [])
swift 3
try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: [])
swift 4.2
try! AVAudioSession.sharedInstance().setCategory(.playback, options: [])
或者只是
try! AVAudioSession.sharedInstance().setCategory(.playback)
关于ios - avplayer播放视频时没有声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34735268/