当前位置: 首页 > 工具软件 > Sewise Player > 使用案例 >

【播放器】关于 sewisePlayer HLS视频播放器的二次开发(一)

漆雕博
2023-12-01

Sewise Player是一款专业的免费网页HTML5视频、流播放器,它功能强大,体积小,跨平台,兼容性好,使用方便简洁。

  • 播放器是主要以HTML5技术为平台开发,同时兼容Flash技术,实现了跨平台各浏览器兼容的视频播放。使用Sewise Player您可以在Windows, MacOS, Linux,Windows Phone, Android, IOS等任意平台上,通过对应的浏览器或者APP中基于WebView播放视频。
  • Sewise Player使用非常简单,只要在页面对应的DIV内嵌入一个JS文件即可,播放器将通过自动识别浏览器的功能来启用HTML5或Flash模式播放视频。您不需要掌握任何JavaScript或ActionScript编码技术就可以制作出专业的网页视频播放器。
  • Sewise Player即可以做为单一的前台播放器来在页面上播放视频和流,也可以结合Sewise Server后台技术实现专业的可交互的点播、直播视频播放。

功能列表:

  • 支持HTML5,Flash视频播放技术。
  • 支持多平台,PC包括Windows, MacOS, Linux等。Mobile包括Android, IOS, Windows Phone等。
  • 支持多浏览器兼容,如IE6/7/8/9/10、Google Chrome、Firefox、safari、Opera等。
  • 支持多种视频格式,如mp4、m3u8、oga、webm、theora、flv、f4v等。
  • 支持多种协议直播流,如rtmp、hls、http等。
  • 支持Flash播放m3u8文件,以及AES-128解码播放。
  • 支持PC与Mobile平台播放器自动识别功能。
  • 支持浏览器HTML5与Flash特性检测。
  • 支持HTML5不同视频格式地址Fallback兼容播放功能。
  • 支持Flash Fallback到HTML5视频播放功能。
  • 支持播放地址AMF, AJAX, JOSNP类型请求。
  • 支持自定义HTML5与Flash皮肤,让您无需了解专业的编码技术也可以制作出超烗风格的皮肤。
  • 支持前置广告(swf, 图片, 视频)。
  • 支持字幕。
  • 支持多种播放参数设定,并支持启动参数设置。
  • 支持丰富的api接口,以此可以快速打造功能强大的插件
这个是官方在github上面的资源   个人 fork 了官方的资源,备份用。https://github.com/xingwen93/sewise-player


这个版本相对来说比新版的3.0稳定很多,个人认为。

 

这个版本还是有些不太符合用户的使用行为,因此对此进行了二次开发

在此添加了 播放内容体的添加了点击的事件  类似 暴风影音的点击播放器播放暂停等功能


       videoContainer.as 思路

 
import flash.ui.Mouse;//更改鼠标样式
import flash.ui.MouseCursor;//更改鼠标样式
import interfaces.player.IVodPlayerMediator;//主播放器接口
//主播放器接口
private var _player:IVodPlayerMediator;
//初始化是否正在停止播放中
public var _paused:Boolean = false;
//标识第一次点击
private var isfirst:int=1;


this.addEventListener(MouseEvent.CLICK, mClickInitHandler);//添加  初始化時点击后暂停播放事件 即為第一次點擊  
this.addEventListener(MouseEvent.MOUSE_MOVE, showCursorHandler);//添加移动到播放器上面后变成手势的事件




/**------------------------------ 播放器视图代理调用的方法  ---------------------------*/
/**适配播放器整个的点击事件**/
//传递 播放器主接口
public function setPlayer(p:IVodPlayerMediator):void{
 _player = p;
}
//实现监听事件
private function mClickInitHandler(e:MouseEvent):void{
//当第一次点击的时候判断是否自动在播放  第二次以上则在主窗體中調用
if(isfirst==1){
 if(!video.visible){
  _player.play();
  _paused=false;
 }else{
  _player.pause();
  _paused=true;
  }
 }
  isfirst=2;
}
//监听鼠标样式更改事件
   private function showCursorHandler(e:MouseEvent) :void{
     Mouse.cursor=MouseCursor.BUTTON;
}

/**适配播放器整个的点击事件 结束       * */

  VodWhite.as 思路

//标识第一次点击
private var isfirst:int=1;
videoContainer.addEventListener(MouseEvent.CLICK, mClickHandler);//添加点击后暂停播放事件


public function set player(pm : IVodPlayerMediator) : void {
  _player = pm;
  controlBar.setPlayer(_player);

  videoContainer.setPlayer(_player);// 此处添加播放器点击后暂停播放事件用,所以传递播放器过去给播放内容
}

//监听播放体的点击事件
private function mClickHandler(e:MouseEvent):void{
    if(isfirst==1){//第一次则跳过去让播放的内容体监听,第二次则控制播放
isfirst=2;
  }else{
    if(_stopped)  _player.play();
if(_paused) _player.play();
else _player.pause();
  }
}



 类似资料: