我正在尝试使用froogaloop API识别vimeo的onPlay,onPause和onFinish事件.我尝试过用这个东西想象的一切,没有运气.
我在Firefox上遇到此错误:
在Chrome中:
从CDN导入froogaloop:
<script src="http://a.vimeocdn.com/js/froogaloop2.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
我的JS:
$(function(){
var vimeoPlayer = document.querySelector('iframe');
$f(vimeoPlayer).addEvent('ready', ready);
function ready(player_id) {
froogaloop = $f(player_id);
function setupEventListeners() {
function onPlay() {
froogaloop.addEvent('play',
function(data) {
console.log('play event');
});
}
function onPause() {
froogaloop.addEvent('pause',
function(data) {
console.log('pause event');
});
}
function onFinish() {
froogaloop.addEvent('finish',
function(data) {
console.log('finish');
});
}
onPlay();
onPause();
onFinish();
}
setupEventListeners();
}
})
Run Code Online (Sandbox Code Playgroud)
我的HTML:
<iframe src="http://player.vimeo.com/video/3718294?api=1" width="623" height="350" frameborder="0" id="iframe-video"></iframe>
Run Code Online (Sandbox Code Playgroud) 我只是想知道一旦vimeo视频播放完毕,是否有可能发起一个事件?
目前我有一个嵌入覆盖的Vimeo,我想在视频停止后删除.希望这是有道理的!
我真的没有任何有用的代码,但是想知道你是否可以在视频中添加事件监听器,在视频播完后触发事件,以及如何进行此操作?
谢谢瑞恩
如何在HTML5播放器上播放vimeo视频?
步骤1:
<video width="320" height="240" controls>
<source src="http://player.vimeo.com/video/3873878">
</video>
Run Code Online (Sandbox Code Playgroud)
第2步:
<video src="http://player.vimeo.com/video/3873878" width="320" height="240" controls></video>
Run Code Online (Sandbox Code Playgroud) 我已经创建了一个函数(在JavaScript中),它从YouTube或Vimeo获取URL.它计算出该特定视频的提供者和ID(演示:http://jsfiddle.net/csjwf/).
function parseVideoURL(url) {
var provider = url.match(/http:\/\/(:?www.)?(\w*)/)[2],
id;
if(provider == "youtube") {
id = url.match(/http:\/\/(?:www.)?(\w*).com\/.*v=(\w*)/)[2];
} else if (provider == "vimeo") {
id = url.match(/http:\/\/(?:www.)?(\w*).com\/(\d*)/)[2];
} else {
throw new Error("parseVideoURL() takes a YouTube or Vimeo URL");
}
return {
provider : provider,
id : id
}
}
Run Code Online (Sandbox Code Playgroud)
它有效,但作为正则表达式新手,我正在寻找改进它的方法.我正在处理的输入,通常如下所示:
http://vimeo.com/(id)
http://youtube.com/watch?v=(id)&blahblahblah.....
Run Code Online (Sandbox Code Playgroud)
1)现在我正在做三个单独的比赛,尝试在一个表达式中做所有事情是否有意义?如果是这样,怎么样?
2)现有的比赛能更简洁吗?它们是不必要的复杂吗?或者可能不够?
3)是否有任何无法解析的YouTube或Vimeo网址?我已经尝试了很多,到目前为止似乎工作得很好.
总结一下:我只是在寻找改进上述功能的方法.任何意见是极大的赞赏.
我正在构建一个应用程序,我想从Youtube,Vimeo,Direct url等网址播放视频.我正在使用AVPlayer制作自定义播放器,从视频剪辑的直接网址(如www.abc/play.mp4)播放视频.但后来我遇到了播放youtube和vimeo视频的巨大问题.在搜索了很多之后,我发现这些链接在不使用UIWebview的情况下我无法播放Youtube链接:
使用MPMoviePlayerController而不是UIWebView播放YouTube视频
在没有UIWebView的情况下播放来自youtube链接的视频
所以我只使用了这段代码:
NSString *youTubeVideoHTML = @"<html><head><style>body{margin:0;}</style></head> <body> <div id=\"player\"></div> <script> var tag = document.createElement('script'); tag.src = 'http://www.youtube.com/player_api'; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubePlayerAPIReady() { player = new YT.Player('player', { width:\'100%%\', height:'200px', videoId:\'%@\', events: { 'onReady': onPlayerReady } }); } function onPlayerReady(event) { event.target.playVideo(); } </script> </body> </html>";
NSString *html = [NSString stringWithFormat:youTubeVideoHTML, videoId];
self.embedded_player_view.mediaPlaybackRequiresUserAction = NO;
[self.embedded_player_view loadHTMLString:html baseURL:[[NSBundle mainBundle] resourceURL]];
Run Code Online (Sandbox Code Playgroud)
现在当我从tableview点击youtube/Vimeo视频链接时,它使用默认播放器即即时播放器播放视频.它没有在UIWebview框架内运行视频.但我想在屏幕的上半部分显示视频,即我的UIWebview框架.那可能吗?
在我的应用程序中,我可以看到:


我们的学生使用Vimeo提供视频教程.
一旦学生完成观看视频,他/她就会得到一些测验.
我们发现学生会使用快速前进控制来向前移动滑块以缩短观看视频所需的时间.
我们想要停止这一点,我们想知道是否有办法禁用或隐藏快进模式,以便学生不再能够继续前进以缩短视频时间.
谢谢你的帮助
我试图了解Vimeo API的"搜索查询"是如何工作的.我甚至通过Vimeo API上的" 游乐场 "为开发人员试用了它.
Vimeo游乐场的屏幕截图.正如您所看到的,查询采用"字符串",但没有关于它如何工作的描述.
我试图通过我放在标题中的关键字来查找视频.我已经使用游乐场测试并查看查询实际上是如何工作的.
使用NOTHING填写上图中的"查询"文本框会返回2个结果.
{
"total": 2,
/* Rest of data here */
}
Run Code Online (Sandbox Code Playgroud)
这是预料之中的,因为到目前为止我只上传了两个视频.
我试图在查询中添加标题中的单词,但它们总是返回0结果.
这是我正在使用的PHP代码,当然返回0结果.
public function findVimeoVideoByKeyword($keyword) {
$response = $this->lib->request('/me/videos', [
'query' => $keyword
]);
# handle response code here...
}
Run Code Online (Sandbox Code Playgroud)
这是我在搜索标题中的特定单词时转储的返回数据(0结果):
VimeoService.php on line 168:
array:3 [?
"body" => array:5 [?
"total" => 0 //0 results
"page" => 1
"per_page" => 25
"paging" => array:4 [?]
"data" => []
]
"status" => 200
"headers" …Run Code Online (Sandbox Code Playgroud) 我正试图在我的应用程序中播放Vimeo的视频.问题是在Android 6设备上,视频会在一段时间后停止播放.在具有较低API的设备上,一切都很好.
[MediaHTTPConnection] readAt 25182208 / 32768 => java.net.ProtocolException: unexpected end of stream and shows this in de log[MediaPlayer] error (1, -1004)我们现在通过Vimeo支持向他们发送电子邮件数周,但他们无法提供解决方案或可能的原因.现在经过几周的邮寄后,支持部门表示他们不支持Android,但我们已经尝试了他们的建议:
使用视频视图而不是媒体播放器
我们尝试过原生Android和Xamarin Android实现
尝试下载文件=>这是有效的,但我们想要流,因为一些视频超过30分钟(> 100mb).取消注释DownLoadActivity中onCreate中的代码以测试下载.
在浏览器中一切正常.
我在We-Transfer上放置了一个测试项目,你可以看到问题https://bazookas.wetransfer.com/downloads/40dadcc8a01f7ebf025345cdf88b731220170102160508/21970a
我在我的网站主页上有一个嵌入式Vimeo视频,当网站加载时设置为自动播放.我也在使用api和froogaloop.js一些自定义控件.
我需要做的是节省视频访问导航到另一个页面时的时间,然后在他们返回主页时从这一点继续播放.
我知道我可以playProgress用来获得时间,但我不知道如何存储这个以及如何在访问者返回主页时使用它.
编辑
我现在有以下代码,并使用js-cookie来存储进度cookie.我将如何得到的值playProgress,并使用其设置为一个cookie beforeunload的window?我在javascript上不是很好,所以帮助会很棒!
JAVASCRIPT(也包括这个库https://github.com/js-cookie/js-cookie)
$(function() {
var iframe = $('#player1')[0];
var player1 = $f(iframe);
var status1 = $('.status1');
// When the player is ready, add listener for playProgress
player1.addEvent('ready', function() {
status1.text('ready');
player1.addEvent('playProgress', onPlayProgress);
});
function onPlayProgress(data, id) {
status1.text(data.seconds + ' seconds played');
};
// SETTING A COOKIE
Cookies.set('timeElapsed','something');
});
Run Code Online (Sandbox Code Playgroud)
HTML
<script src="https://f.vimeocdn.com/js/froogaloop2.min.js"></script>
<div class="videoholder">
<h3>Player 1</h3>
<iframe id="player1" src="https://player.vimeo.com/video/142216434?api=1&player_id=player1" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen …Run Code Online (Sandbox Code Playgroud) vimeo ×10
jquery ×4
vimeo-api ×4
javascript ×3
html5-video ×2
youtube ×2
android ×1
froogaloop ×1
html ×1
html5 ×1
iframe ×1
ios ×1
objective-c ×1
php ×1
regex ×1
symfony ×1
uiwebview ×1
video ×1
vimeo-player ×1