ios - avplayer播放视频时没有声音

标签 ios avplayer

这是我播放 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/

相关文章:

ios - 动画播放与否取决于链接动画的 animationRepeatCount

ios - 使用 WebKit 阻止导航

ios - Unity iOS 支持,安装失败

ios - UIPasteboard无法多次复制带有过期时间的文本

适用于 iOS7 的 iOS 音频流媒体

ios - 下载和播放离线 HLS 内容 - iOS 10

ios - 播放 m3u8 播放列表时 AVPlayer 会自动调整吗?

ios - AVPlayer 是否支持在单独的文本文件中提供的隐藏式字幕?

ios - 为 Autolayout 设置 UIScrollView,以便_only_ 为小屏幕滚动

iphone - 从另一个 URL 播放音乐时是否应该停止当前的 AVPlayer 实例?