media.playVideoがリモートで動作しない
Solar2Dで開発したAndroidアプリで動画ストリーミングができない。
シミュレータとiOS端末では問題なく、Android端末のみ発生する問題。
media.playVideo
のAPIリファレンスを見ると、ローカル、リモートどちらも再生できると記載があるが、なぜかストリーミング再生ができない。
サンプルソース
サンプルソースをビルドし、Android端末で動かしてみる。
main.lua
local onComplete = function( event )
print( "video session ended" )
end
media.playVideo( "https://coronalabs.com/video/bbb/BigBuckBunny_640x360.m4v", media.RemoteSource, true, onComplete)
解決方法
solar2d 3619でビルドした際は問題なく、solar2d 3665でビルドすると発生
バージョンかOSのセキュリティの問題か原因は不明。
ローカルに動画があれば再生できるので、ダウンロードして再生する方法で対応
main.lua
local path
local params = {}
local function networkListener( event )
local function onComplete()
os.remove( path )
end
path = system.pathForFile( "temp.m4v", system.TemporaryDirectory )
media.playVideo( path, true, onComplete)
end
network.download(
"https://coronalabs.com/video/bbb/BigBuckBunny_640x360.m4v",
"GET",
networkListener,
params,
"temp.m4v",
system.TemporaryDirectory
)