ios avplayer

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.