#author("2018-10-11T21:15:03+09:00","default:kanateko0404","kanateko0404")
#author("2018-10-11T23:02:18+09:00","default:kanateko0404","kanateko0404")
RIGHT:&tag(プラグイン,自作,追加);
#contentsx
*新YouTube埋め込みプラグイン [#d404155f]
#style(class=table_float_right){{
|RIGHT:BGCOLOR(lightgray):||c
|プラグイン名|youtube2.inc.php|
|製作者|kanateko|
|バージョン|0.3.0|
|動作確認|PukiWiki 1.5.1|
|最終更新|2018/10/10 17:21|
|ダウンロード|*調整中*|
}}
既存のプラグイン([[pukiwiki:自作プラグイン/youtube.inc.php]])だと機能が少なかったため、PHPの勉強も兼ねて一から新しく作ったもの

-このプラグインでできること (ver0.3.0)
--YouTube動画の埋め込み
--再生リストの埋め込み (自動判別) &size(10){&color(red){new!};};
--動画サイズの指定 (2通りの方法で指定可) &size(10){&color(red){new!};};
--自動再生のON/OFF &size(10){&color(red){new!};};
--再生開始位置の指定 &size(10){&color(red){new!};};
--再生終了位置の指定 &size(10){&color(red){new!};};
--再生リストの開始位置の指定 &size(10){&color(red){new!};};

**セットアップ [#i40303c1]
~*調整中*

**使い方 [#s897c501]
 #youtube2(<動画ID or リストID>[,オプション])
インライン型(&amp;youtube();)でも使用可能

-''動画ID / リストID''
動画ID: 動画URLのv=のあとにある11文字の文字列
リストID: 再生リストURLのlist=のあとにある24文字か34文字の文字列
リストIDはLLもしくはPLで始まる
例:
 https://www.youtube.com/watch?v=ccWpZdGexvg&t
 ココ → ccWpZdGexvg&t
 
 https://www.youtube.com/watch?v=3Uhnj8cCWeY&list=PLRYRsgVEFvuB03xHzq0wv3DUVZzbDZXMn
 ココ → PLRYRsgVEFvuB03xHzq0wv3DUVZzbDZXMn

-''オプション: サイズ''
サイズ指定方法は2つある
サイズを指定しない場合はデフォルトで560x315
++''width=, height=''
個別のオプションとして幅と高さを指定する方法
例:
 #youtube2(ccWpZdGexvg&t,width=640,height=360)
++''widthxheight''
小文字のエックスを挟んで一度に幅と高さを指定する方法
例:
 #youtube2(ccWpZdGexvg&t,640x360)

-''オプション: 自動再生''
''autoplay=1 or 0''
自動再生のon/offを指定する
指定しない場合はデフォルトでoff
再生リストの場合は指定しても無効
例:
 #youtube2(ccWpZdGexvg&t,autoplay=1)

-''オプション: 開始位置 / 終了位置''
''start=, end=''
動画の再生開始位置と終了位置を秒数で指定する
再生リストの場合は指定しても無効
例:
 #youtube2(ccWpZdGexvg&t,start=20)

-''オプション: リストの開始位置''
''index=''
再生リストの何番目の動画を再生するかを指定する

**使用例 [#gade07ca]
 #youtube2(FRPeYP6gS-s,start=123)
 #youtube2(PLSHdOA4o6T_eodXoWeGyD7gIxWlOwXdUx,400x225,index=2)
#youtube(FRPeYP6gS-s,start=123)
#youtube(PLSHdOA4o6T_eodXoWeGyD7gIxWlOwXdUx,400x225,index=2)

**プラグイン内オプション [#k1ff13c2]
-''ENABLE_IFRAME_EMBED'': 常にiframeで埋め込む
-''ALWAYS_ENABLE_AUTOPLAY'': 常に自動再生を許可する
-''PRIVACY_ENHANCED_MODE'': プライバシー強化モード(Cookieを使用しない)にする

**懸念事項 [#pe78631d]
XHTML 1.1でiframeタグは使ってはいけないということだったので、objectタグを使用して埋め込むようにしました
・・・が、objectタグを使った場合、フルスクリーン表示ができない、自動再生が正しく動作しないといった問題があったため、[[pukiwiki:自作プラグイン/iframe.inc.php]]を参考にXHTML 1.0 Transitionalでiframeを使って埋め込む力技を使用することに
オプションのENABLE_IFRAME_EMBEDを無効にするとObjectタグでの埋め込みに切り替わります

加えてPHPを実際に触り始めて日が浅いため、引数を判別する関数の書き方が非常にアヤシイ・・・
一応一通りテストして問題なく動いてはいますが、できればもっときれいに作り直したいところ

**コメント [#e955d2c4]
#pcomment(,10,above,reply)