当前位置:首页 » 云服务器 » 视频服务器如何暂停

视频服务器如何暂停

发布时间: 2024-01-01 03:29:28

❶ 安卓视频播放(阿里云视频点播播放器SDK+SurfaceView)

本篇文章讲述使用阿里云视频视频播放sdk中的高级播放器加上SurfaceView实现,采用id+STS方法进行视频播放。

流程:用户App获取STS凭证 -> 服务端下发STS凭证 -> 用户上传视频并获取vid -> 服务端获取STS凭证 -> 将STS凭证下发给客户端 -> 完成视频播放。

请看阿里云文档=========》》》》》》 阿里云-高级播放器Android使用说明

接下来我们来看一下安卓给我们提供的手势控制类

接口

setOnTouchListener(this);

其中定义了四种状态 NONE = 0, VOLUME = 1, BRIGHTNESS = 2, FF_REW = 3;
接下来我们来看一下我们自定义的SurfaceViewOnGestureListener继承 GestureDetector.SimpleOnGestureListener主要用到了
onDown(MotionEvent e)
onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)两个方法

a.在onDown的时候把状态设置NONE
b.判断横向滑动的距离大于纵向滑动的距离,就把模式赋值为快进和后退
c.在onScroll中进行状态赋值,根据滑动的距离,如果按下的点在屏幕的左半部分就吧状态设置为调节亮度BRIGHTNESS,如果在右半部分就是调节音量
d.各种情况调用各自的接口方法

快进和后退,我们需要知道的就是我们滑动的距离如何与视频的长度关联起来。
那么咱们就可以把视频的总长度与屏幕的总长度相比,这样就能知道你手指滑动的距离占视频的多少了。
我们可以通过 l = ration / mySurfaceView.getWidth();来获得这个比例,然后用当前的进度加上指滑动的距离占视频的长度就是要播放的视频位置

抬起点的x坐标与按下点的X坐标所得的距离,大于0是快进,小于零是后退。

系统的音量有很多,包括通话音量值,系统铃声值,音乐音量值,闹铃音量值,等等吧。
做一下笔记以备以后用到

视频播放我们用的是音乐音量值,同样的道理,我们需要把音量和高度进行关联,我们可以控件的高度闭上最大音量得出比例后就可以知道你滑动的距离占音量的多少了。

这里有个注意点就是activity是当前的这个界面,设置的是当前的界面,离开这个界面后就不管用了。

相同的道理和滑动调节音量一样也是获得屏幕的高度比上最大的亮度,然后计算滑动的距离转换成亮度是多少。(这里不多讲了)

为什么会出现黑屏,就是按Home键再点App回来后,只有声音没有图片的问题,因为我们用的是SurfaceView,每次点击Home键时会销毁这个SurfaceView,再回来时又会重新创建,这样我们的阿里云播放器与SurfaceView就没有绑定了,画面就没有了。
这样我们需要 给surfaceView添加mySurfaceView.getHolder().addCallback(this);

我们在按home键的时候会走surfaceDestroyed。这样,我们就可以在这里做一个标识,让他暂停,然后再回来的时候就会走surfaceCreated,判断标识,然后进行处理就可以了。切记一定要重新让aliyunVodPlayer与SurfaceView进行关联,这样才能有画面也有声音。

由于我们的视频在阿里云的服务器上存着,访问阿里云的服务器需要临时凭证,我们通过STS来获取Token,但是这个Token是有时间限制,正好阿里云的播放器给我们提供了播放视频出错时候的回调接口,我们只需要在这里面进行重新请求Token就可以了

❷ 要一个能播放视频文件的php 源码,能制“播放”“暂停”“停止”等

这个播放视频确实是前端控制的,如果你想简单点的话,那就搜搜html5里的video,这个元素能够播放视频,还能通过js来控制,比如获取当前影片的总时长和播放时长,便于下次的续播,等等。

给你看看这段代码

===================

<!DOCTYPE HTML>
<html>
<head>
<title>html5_video</title>
<meta charset="UTF-8"/>
</head>
<body>

<div>
<video id="video" width="400" height="300" controls="controls">
<source src="mov_bbb.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<div id="check"></div>
<input type="button" id="change" value="播放" />
</html>
<script type="text/javascript">
/*
可以为video添加的事件还有很多,比如:
error 视频加载时发生错误
progress 正在加载视频时
loadstart 浏览器开始加载视频元素时
volumechange音量被改变时

当然,video自己本身还有一些事件和属性
startTime float 开始播放时间
currentTime float 获取或设定当前视频的播放时间
ration float 视频的总播放时长
paused boolean 当前影片是否处于暂停状态
ended boolean 影片是否已结束
volume int 获取或设置音量

pause() 使影片暂停
play() 使影片播放

*/

var video = document.getElementById("video");
var check = document.getElementById("check");
var change = document.getElementById("change");

//暂停事件
video.addEventListener("pause", function(){
var msg = "处于暂停状态,当前播放时间为:"+video.currentTime;
check.innerHTML = msg;
});

//播放事件
video.addEventListener("playing", function(){
var msg = "开始播放,从"+video.currentTime+"播放";
check.innerHTML = msg;
});

//正在拖动播放条事件
video.addEventListener("seeking", function(){
var msg = "正在拖动";
check.innerHTML = msg;
});

//拖动播放条结束事件
video.addEventListener("seeked", function(){
var msg = "拖动结束";
check.innerHTML = msg;
});

//视频结束时
video.addEventListener("ended", function(){
var msg = "视频已播放完毕,总时长为:"+video.ration;
check.innerHTML = msg;
});

change.addEventListener("click", function(){
if(video.paused){
video.play();
change.value = "暂停";
}else{
video.pause();
change.value = "播放";
}
})

</script>

热点内容
服务器essd什么意思 发布:2025-01-23 14:51:24 浏览:268
spring上传文件限制 发布:2025-01-23 14:50:30 浏览:310
奇亚币p图软件存储机 发布:2025-01-23 14:38:03 浏览:43
linux有用的命令 发布:2025-01-23 14:35:03 浏览:681
php显示缩略图 发布:2025-01-23 14:22:17 浏览:725
安卓哈利波特怎么更换账号 发布:2025-01-23 14:16:44 浏览:586
中国压缩包 发布:2025-01-23 14:10:49 浏览:499
如果让电脑访问到公司服务器 发布:2025-01-23 14:02:46 浏览:686
360浏览器脚本 发布:2025-01-23 13:54:42 浏览:565
合拍率算法 发布:2025-01-23 13:50:59 浏览:257