找回密码
 加入怎通
查看: 598|回复: 8

[IT资讯] 直播APP源码,视频直播系统

[复制链接]
yb2016 发表于 2017-03-13 13:46:30 | 显示全部楼层 |阅读模式
. v2 \9 D7 b( x) n9 P# n
直播行业现在是越发的火热,人们对于视频直播的热情也是久盛不衰,云豹直播的技术人员在这里就教大家编写一个小小的视频直播片段。
Windows Media Player 系列(不同面板样式)
图片1.jpg
引用内容
媒体播放器的外观界面
在网页中,你可以通过相关属性来**体播放器的哪些部分出现,哪些部分不出现。
' ~& p3 T5 d% E4 @/ Z' r媒体播放器包括如下元素:& H* f6 F7 w, ^" f1 r
Video Display Panel:视频显示面板;8 V$ f7 E/ u  G9 F5 Y" _
Video Border:视频边框;9 A! B& D% q) ]% f/ A! Q% D, q
Closed Captioning Display Panel;字幕显示面板;
* o2 X6 p' y3 E$ Q# G3 ^6 RTrack Bar;搜索栏;
; L1 c2 r! U* s& k- JControl Bar with Audio and Position Controls:带有声音和位置控制的控制栏;+ C9 Q3 {0 R- h  @/ L
Go To Bar:转到栏;4 Q- c1 A1 q) U
Display Panel:显示面板;( D6 H/ w$ T8 H# A, T
Status Bar:状态栏;! V, {0 o9 S- Z5 C% ^& \* x
下面的属性用来决定显示哪一个元素:
" m; ?' s7 S/ i7 H8 N  LShowControls 属性:是否显示控制栏(包括播放控件及可选的声音和位置控件);
. n3 S  \  k, I. `( e( ~% aShowAudioControls 属性:是否在控制栏显示声音控件(静音按钮和音量滑块);( p& x4 X* M% i+ W- w' e7 e
ShowPositionControls 属性:是否在控制栏显示位置控件(包括向后跳进、快退、快进、向前跳进、预览播放列表中的每个剪辑);
9 L4 K! Y5 P; \1 b- DShowTracker 属性:是否显示搜索栏;
1 @" Q. i: v' y1 [4 _ShowDisplay 属性:是否显示显示面板(用来提供节目与剪辑的信息);& W1 e* ?# d" Q+ z- Q7 Q+ a. G4 m
ShowCaptioning 属性:是否显示字幕显示面板;
- ^0 m# O, |6 N& h3 h8 Y! U" AShowGotoBar 属性:是否显示转到栏;
: B- y5 J% |9 l+ g8 x3 `ShowStatusBar 属性:是否显示状态栏;
播放列表
媒体播放器提供下面的方法来访问播放列表中的剪辑:
- z; S/ O2 u: @/ u( t/ f. KNext 方法,跳到节目(播放列表)中的下一个剪辑;
8 T# F  q* v% VPrevious 方法,跳回到节目中的上一个剪辑;0 F( h6 S" [* t
媒体播放器的一个特性是能够预览节目中的每一个剪辑,使用如下属性:# y. {, w  p3 h: U, M% {0 p1 P- p
PreviewMode 属性,决定媒体播放器当前是否处于预览模式;' J4 e, A6 p% n+ ^* |" l
CanPreview 属性,决定媒体播放器能否处于预览模式;
, T& r, c* _; u" H' [在windows 媒体元文件中,可以为每一个剪辑指定预览时间——PREVIEWDURATION,如果没有指定,那么默认的预览时间是10秒钟。
4 _0 m) G! w6 U2 r: I6 A你也可以用Windows 媒体元文件来添加 watermarks 与 banners,元文件也支持插入广告时的无间隙流切换。
节目信息
使用 GetMediaInfoString 方法可以返回相关剪辑或节目的如下信息:
* L% F2 W# i; i& f. r( h文件名:File name
# p& n  ?2 O3 t2 {& ]7 a, [4 m标题:Title2 O* s3 w# y% R" T  d
描述:Description
7 V$ g  ?- u2 e+ K# j- e作者:Author. |( c9 Z; G8 y5 c( Z
版权:Copyright! [! [8 g" `/ n9 H3 f* C- v- ?
级别:Rating
- i- m' L  P4 `, l* w5 GURLs:logo icon、watermark、banner的地址
4 E( g5 k: J: C剪辑信息可以放在媒体文件中,也可以放在Windows 媒体元文件中,或者两者都放。如果在元文件中指定了剪辑信息,那么用 GetMediaInfoString 方法返回的就是元文件中的信息,而不会返回剪辑中包含的信息。
$ Q$ d! [! C' h# a( ]5 r- ]0 x- }在元文件中,附加信息可以放置在每一个剪辑或节目的 PARAM标签中。你可以为每个剪辑添加任意多个 PARAM 标签,用来存储自定义的信息或链接到相关站点。在 PARAM 标签中的信息可以通过 GetMediaParameter 方法来访问。
) O3 M4 L* W: w9 R下面的属性返回有关大小和时间的信息:
! q( y* G5 K, N  MImageSourceHeight、ImageSourceWidth:返回图像窗口的显示尺寸;& z* o1 [8 x5 n( d
Duration 属性,返回剪辑的长度(秒), 要检测这个属性是否包含有效的数值,请检查IsDurationValid 属性。(对于广播的视频,其长度是不可预知的)。
字幕
你可以用 .smi 文件来为你的节目添加字幕。媒体播放器支持下面的属性来处理字幕:
% B- `' g" p5 n, h) O, RSAMIFileName 属性,指定 .smi 文件的名字;
% U+ [% I; o" q- L% ?, F7 L. \: WSAMILang 属性,指定字幕的语言(如果没有指定则使用第一种语言);
& j/ x( J9 f5 i9 r0 R  T% }SAMIStyle 属性,指定字幕的文字大小和样式;2 w* I) H& q, U% e; B# t
ShowCaptioning 属性,决定是否显示字幕显示面板;
脚本命令
伴随音频、视频流,你可以在流媒体文件中加入脚本命令。脚本命令是多媒体流中与特定时间同步的多对Unicode串。第一个串标识待发命令的类型,第二个串指定要执行的命令。( ]- Y, @  t$ q- y# y4 Q3 d$ l
当流播放到与脚本相关的时间时,控件会向网页发送一个 ScriptCommand事件,然后由事件处理进程来响应这个事件。脚本命令字符串会作为脚本命令事件的参数传递给事件处理器。
" Z" e% a- C; A2 G4 y媒体播放器会自动处理下面类型的内嵌脚本命令:
5 c* J) u* Y' L1) URL型命令:当媒体播放器控件收到一个URL型的命令时,指定的URL会被装载到用户的默认浏览器。如果媒体播放器嵌在一个分帧的HTML文件中,URL页可以装载到由脚本命令指定的帧内。如果脚本命令没有指定一个帧,将由 DefaultFrame 属性决定将 URL 页装入哪一帧。
* P1 h+ v4 D7 P( [2 s你可以通过设置 InvokeURLs 属性来决定是否自动处理 URL 型的脚本命令。如果这个属性的值为 false ,媒体播放器控件将忽视 URL型命令。但是脚本命令事件仍会触发,这就允许你有选择地处理 URL 型命令。0 q+ `* ]: H% M1 n$ X0 \2 Y* o
URL 型命令指定的是 URL 的相对地址。基地址是由 BaseURL属性指定的。媒体播放器控件传送的脚本命令事件的命令参数是链接好的地址。: X9 h; g4 L; W; |
2) FILENAME型命令:当媒体播放器控件收到一个FILENAME型的命令时,它将 FileName属性设置为脚本命令提供的文件,之后媒体播放器会打开这个文件开始播放。 媒体播放器控件总是自动处理 FILENAME 型命令,不象 URL 型命令,它们不能被禁止。
8 `5 q8 N  I- }( a! t3) TEXT型命令:当媒体播放器控件收到一个 TEXT型的命令时,它会将命令的内容显示在控件的字幕窗口。内容可以是纯文本的,也可以是 HTML。! S/ {" p, X, g5 `
4) EVENT型命令:当媒体播放器控件收到一个 EVENT型的命令时,它会在媒体元文件中搜索 EVENT 元素的 NAME 属性。如果 NAME 属性与脚本命令中的第二个字符串匹配,媒体播放器控件就执行包含在 EVENT 元素中的条目。: p! s0 W; w2 t4 J) ?; d% W
5) OPENEVENT型命令:当媒体播放器控件收到一个 OPENEVENT型的命令时,它会在媒体元文件中检查 EVENT 元素,并打开匹配的标题,但不播放,直到收到来自 EVENT型命令的同名真实事件。
云豹直播 .jpg
简单的视频直播就是如此浩大的编写过程,可想而知,一整套直播APP源码需要耗费多少的时间,各位有意向进入直播市场的小伙伴们还是选择云豹直播(官方Q Q3561248084),直接搭建起属于自己的直播平台吧!

( O0 }# @' y% s- N

暂时无法加载帖子列表

回复

使用道具 举报

江枫渔火 发表于 2017-03-13 13:48:02 | 显示全部楼层
说的很对,江枫渔火支持
回复

使用道具 举报

q475364102 发表于 2025-11-10 08:41:47 | 显示全部楼层
这个思路很新颖,打开了新世界的大门,谢谢分享
回复

使用道具 举报

南昌人流价格 发表于 2026-09-18 06:55:53 | 显示全部楼层
分析得很透彻,很多细节都说到点子上了~
回复

使用道具 举报

华创网络 发表于 2026-09-18 20:43:51 | 显示全部楼层
楼主太厉害了,整理得这么详细,必须支持
回复

使用道具 举报

参与就好 发表于 2026-09-22 03:14:37 | 显示全部楼层
完全赞同,我也是这么认为的,英雄所见略同~
回复

使用道具 举报

中国生姜网 发表于 2026-09-29 20:33:37 | 显示全部楼层
这个分享太实用了,刚好能用到,感谢楼主!
回复

使用道具 举报

互易中国1003 发表于 2026-10-21 10:34:15 | 显示全部楼层
学习到了,之前一直没注意过这个点,受教了
回复

使用道具 举报

小小少年五指山 发表于 2026-10-22 17:42:22 | 显示全部楼层
说得很实在,没有夸大其词,这种真实分享太难得了
回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-10-26 21:47 , Processed in 0.063968 second(s), 29 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

    快速回复 返回顶部 返回列表