2

アプリで You Tube ビデオを再生していますが、ビデオが一時停止または終了したことを検出しようとしていますか? .m ファイルで関数を見つけましたが、kYTPlayerStateその使用を Swift に変換するのに問題があります。これが私が持っているものです....

func playerView(playerView: YTPlayerView!, didChangeToState state: YTPlayerState)
{
    switch (state) {
    case YTPlayerState.Playing:
        print("Started playback");
        break;
    case YTPlayerState.Paused:
        print("Paused playback");
        break;
    case YTPlayerState.Ended:
        print("Ended playback");
        break;
    default:
        break;
    }
}

と .....

   if playerView(player , didChangeToState: YTPlayerState.Ended)
    {
        /// Do Something....
    }

....これを ViewDidLoad() に配置します。また、ifステートメントでエラーが返されますType "()" does not conform to protocol "Boolean Type"。これを修正する方法を知っている場合、または何かを省略している場合は、助けてください。

このビューでプレーヤーを初期化しています@IBOutlet var player: YTPlayerView!

4

1 に答える 1

2

playerView:didChangeToStateデリゲート メソッド、コールバックです。2 番目のコード ブロックのように直接呼び出すべきではありません。YTPlayerViewDelegateをビュー コントローラ ( player.delegate = selfin viewDidLoad)に設定するplayerView:didChangeToStateと、プレーヤーの状態が変化すると自動的に呼び出されます。状態変更メソッドを必ず実装してください。

func playerView(playerView: YTPlayerView!, didChangeToState state: YTPlayerState)
{
    case YTPlayerState.Ended:
        // handle ended state
        break;
    default:
        break;
    }
}
于 2016-04-04T01:57:43.890 に答える