ios - avplayer no tiene sonidos cuando se reproduce video
(3)
Comprueba que tu teléfono está en modo silencioso o no. Si está en silencio, intente agregar el siguiente código para viewDidLoad
:
Swift 2.3
try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: [])
Swift 3
try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: [])
Aquí están todos mis códigos para jugar un mp4, el mp4 está jugando pero no hay sonidos
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()
}
}
Estoy seguro de que tiene sonidos, porque puedo escuchar cuando reproduzco el mp4 con VLC, ¿me perdí algo?
Para Swift 4.2, coloque las siguientes líneas en viewDidLoad
do {
try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [])
}
catch {
print("Setting category to AVAudioSessionCategoryPlayback failed.")
}
Verifique si el iPhone tiene activado el modo silencioso, es un botón sobre los 2 botones superiores izquierda. Un interruptor de palanca que permite el modo silencioso.