我正在用LiveCode 7.1.0做一个视频播放器。我创建了一个包含打开文件对话框的菜单。问题是我可以显示对话框,但不能在播放器中加载用户选择的视频。我怎样才能做到这一点?
EDIT: 我已经尝试了下面的脚本与按钮。
set the filename of player "DVideoPlayer" to "/Users/1440004/Movies/10.mov"
它工作得很好。我为我的菜单的打开选项做了下面的代码。
on menuPick pWhich
switch pWhich
case "Ouvrir..."
answer file "Veuillez choisir une vidéo..." with type ("Tous les vidéos|*|*")
break
put it into tFile
if tFile is not empty then
-- An empty value means that the user pressed cancel.
-- We don't want the current player content to be
-- lost, so we only change the filename value when
-- tFile is not empty.
set the filename of player "DVideoPlayer" to tFile
end if
case "Fermer"
close this stack
end switch
end menuPick
但它没有工作。
问题可能是当视频播放器试图获取 "it "变量的信息时(转换为tFile),或者我没有把代码放在合适的地方?
这个简短的脚本要求用户选择一个视频并将其加载到播放器中。如果你想使用不同的播放器,那就用不同的编号来引用它的名字。
answer file "Select a video..."
if it is not empty then
set the filename of player 1 to it
set the currentTime of player 1 to 0
end if
这是一个老问题,但可以对这个答案进行改进。
如上所述,可能是选择的视频是播放器无法播放的。 我假设你使用的是Mac。 多年来,Mac OSX版本和Quicktime的迭代,一些曾经在Mac上播放的mov电影或mp4电影在Mac上无法播放了。 (这可能对windows也是如此,但我还没有在Windows上使用LiveCode。)
检查是否是这个问题的最好方法是尝试在Mac上的Quicktime Player中打开视频。 如果它不能在那里打开,那么它是一个Quicktime兼容性的问题。 你将不得不转换你的电影。
如果你想让用户只能选择可以播放的视频文件,你可以在文件选择对话框中指定启用的文件类型。 因此,在Mac上,你可以指定QuickTime视频或MPEG 4视频。
answer file "Veuillez choisir une vidéo..." with type "Quicktime Movie files|mov|Moov" or type "MPEG 4 Movie Files|mp4,m4v|mpg4"
这将使文件打开对话框的弹出菜单中出现两个项目 "Quicktime Movie Files "和 "MPEG 4 Movie Files"
其余的代码都是正确的。
put it into tFile
if tFile is not empty then
set the filename of player "DVideoPlayer" to tFile
end if
希望你能解决这个问题。
马丁