Help us understand the problem. What is going on with this article?


More than 3 years have passed since last update.

AVPlayerを使って、字幕のオンオフをプログラムから制御できます。字幕(Subtitle Track)のある動画の場合、OSデフォルトのプレイヤーの右下に字幕アイコンが表示されます。そこから手動で選択できるのですが、デフォルトで常にオンにしたい、カスタムViewで再生コントローラーもフルカスタマイズしたい場合もあるでしょう。


// バンドルから動画ファイルのURLを得る。ネット上のURLでもOK
let url = Bundle.main.url(forResource: "test01", withExtension: "m4v")!
let playerItem = AVPlayerItem(url: url)
// 字幕情報を得る
if let mediaSelectionGroup = playerItem.asset.mediaSelectionGroup(forMediaCharacteristic: AVMediaCharacteristicLegible) {
    // 字幕オプションが列挙される
    for option in mediaSelectionGroup.options {
        NSLog("option:%@", option.displayName)
    // どれか適切なものを選択する。この場合、最初の字幕オプションを指定, in: mediaSelectionGroup)
    // こうすると字幕をオフにできる, in: mediaSelectionGroup)
self.player = AVPlayer(playerItem: playerItem)


Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away