视频回放,其实是依赖于设备指定的弹出式媒体播放器。在视频播放期间,视频播放器的界面会弹出来。
很重要的一件事是, media.playVideo是异步的。一旦代码块退出,应用程序将会被挂起,直到视频播放完成。
因此,如果媒体播放器退出时,你想要得到通知的话(例如,视频播放完毕或者用户取消了视频播放),你应该注册一个listener。
local onComplete = function(event)
print( "video session ended" )
end
media.playVideo( "Movie.m4v", true, onComplete )
你也可以用一个远程的URL来指定一个视频,或者一个本地文件名。
media.playVideo( path [, baseSource ], showControls, listener )
在一个设备指定的弹出媒体播放器里,播放path路径的视频文件。可选参数 baseSource控制path应该如何解释,可以是系统定义的目录常量( system-defined directory constants)中的一个 或者 media.RemoteSource。在前者中,路径是相对于源码根目录;后者中路径是一个指向远程文件的绝对URL。默认值是 system.ResourceDirectory。
在视频播放期间,媒体播放器界面会弹出来。如果 showControls为false,那么用户可以调节播放,例如开始,停止,从何处开始播放等。传入一个listener,可以在视频结束时得到提醒。注意,这个函数是异步的。之后的任何代码都会被执行。再往后,应用程序将会挂起,直到视频播放完成。
local onComplete = function(event)
print( "video session ended" )
end
media.playVideo( "Movie.m4v", true, onComplete )
这个listener可以是函数listener,也可以是table listener。如果listener是一个table,它必须有一个completion方法。一个 completion event将会被分发到listener上。
支持的视频格式
For the iPhone:
• 视频播放器支持的视频文件格式为 .mov, .mp4, .m4v, and .3gp 扩展名的文件,以及使用下列压缩标准:
• H.264 Baseline Profile Level 3.0 video, up to 640 x 480 at 30 fps. Note: B frames are not supported in the Baseline profile.
• MPEG-4 Part 2 video (Simple Profile)
Camera and Photo Library
media.show( imageSource, listener )
这会打开一个平台特定的界面。这个函数立即返回,所以调用代码会继续执行,直到作用域结束。默认,它会被添加到当前stage的顶层。listener是必须的。 imageSource可以是下面中的一个:
• media.PhotoLibrary
• media.Camera
• media.SavedPhotosAlbum
注意,这个函数是异步的。任何下面的代码都会被执行,然后应用程序将被挂起,直到会话结束。
local onComplete = function(event)
local photo = event.target
print( "photo w,h = " .. photo.width .. "," .. photo.height )
end
media.show( media.Camera, onComplete )
listener也可以是一个函数listener,或table listener。如果listener是一个table,它必须包含一个 completion 方法。这个事件会被分发到listener上,event有如下附加属性:
event.target imageSource参数所依附的一个image类型的display object