我需要一个想法来创建一个应用程序,用于将前贴片电影广告放到网页上的电影中。广告电影和电影在Vimeo举行。
我尝试使用Vimeo播放器API,但遇到了一个不好的问题。我的应用听了“播放”事件,然后广告就开始了。但是在广告开始之前,显示了一部或两部主要电影。因此,应用需要等待一段时间才能启动广告。
这看起来很糟糕,特别是当海报图像出现在主视频的开头时。
我不知道如何解决它。
我的代码如下:
<script>
var iframe = document.querySelector('iframe');
var player = new Vimeo.Player(iframe);
var a = 1;
function playAd() {
if (!a) return;
a = 0;
player.pause();
player.loadVideo(41540648);
player.on('loaded', function () {
player.play();
});
}
var b = 1;
function playMovie() {
if (!b) return;
b = 0;
player.loadVideo(63723953);
player.on('loaded', function () {
player.play();
});
}
player.on('play', playAd);
player.on('ended', playMovie);
</script>
答案 0 :(得分:1)
我试过你的代码似乎正常工作(在我的broswer上)。
然而,在你的主要电影开头是否缺少一些图像是很困难的,因为没有什么可以将它们与下面的图像区分开来(水印等等,只是为了测试)(和我没有适合测试的视频)。
您可以尝试在<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/main_background"
android:orientation="vertical">
<FrameLayout
android:id="@+id/musicBarContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:clickable="true"
android:fontFamily="sans-serif-thin" />
<ExpandableListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/musicBarContainer"
android:childDivider="@drawable/list_divider"
android:choiceMode="singleChoice"
android:divider="@drawable/list_divider"
android:dividerHeight="1dp"
android:fontFamily="sans-serif-thin"
android:groupIndicator="@null" />
</RelativeLayout>
功能player.setCurrenttime(0);
之前添加player.play();
,然后您就会确定该palyer从0开始播放;
我看不出任何差异,但您可能会,特别是如果您的电影的第一张图片与以下图片不同。
这是一种黑客行为,但如果适合你的话,仍然比什么都好。
PS:我最近意识到,当我的视频的Outro设置设置为开始时,有或者至少我有问题,因为我无法再寻求0或重播视频。 (see details on vimeo forum)
PS2:我的实际走动是将outro设置为“nothing”和setCurrentTime(0.1),但这是我不希望从vimeo那样的东西
干杯