得知互动
标题:
html5中 media(播放器)的api使用指南
[打印本页]
作者:
swmozowtfl
时间:
2015-7-26 20:46
标题:
html5中 media(播放器)的api使用指南
代码如下:
/ c4 N9 q& n S6 z" i& F3 d
<!doctype html>
$ p4 y5 ?0 z5 b) z# @ r. o3 X2 r
<html lang=en>
7 t0 R; L! N, D1 Y4 T' [
<head>
8 S# y" L* W: N: ?& d
<meta charset=utf-8>
: j6 q' n) m. p* O; _2 g1 c; E. K8 J
<title>html audio api</title>
& x y2 T/ k0 L% Y9 ?
<link rel=stylesheet href=./style/main.css />
/ F0 U9 e( T A
<script src=./script/audio-controls.js></script>
+ w3 F' q/ A! I9 B0 K! e/ \
</head>
/ ]. W8 a; B) G+ C5 w
<body>
& P r! @% v9 b. h
<header>
; K$ m7 G; f; Q' k% k
<h1>html5 audio api</h1>
) U% y5 Q4 l7 ]8 P. S+ S
<p>html5 audio api demo by <a href=<a href=> target=_blank>learnshare</a>.</p>
* S9 z9 m& M1 E. \. ~( V6 |5 e
<p>
. Q u; D, r! X- [; k: e- J3 g4 H
last update @2013-04-23 20:40:00
& n, n6 V9 n) V& @1 _: P
+ add info table
( V& i# t6 ?* s0 [# I" R- N! T
update @2013-04-22 14:54:00
* h; {9 `( I5 W) x* M: @# h
+ add dom events
3 s8 `9 j1 O: `7 r5 F" e& b
update @2013-04-22 12:47:00
" H4 L5 U3 {8 t! U
+ add getcurrentsrc button
6 ?0 \5 Z# _5 I, _
</p>
: u2 u. d3 V) v5 s
<p>
) l \# y( j K( q l* w& d) W
view code on <a href=<a href=>
" n; U5 y& q0 T* ]- H- E
> target=_blank>learnshare.github.io</a>.
2 x! s2 s; w, L& ~: e3 i" d5 l
api reference: <a href=<a href=> target=_blank>htmlmediaelement</a> and <a href=<a href=> target=_blank>audio/video dom references</a>
2 k# u+ Z" y+ U+ I w
</p>
5 x' @! S& @% y K% @
</header>
) F2 F3 t+ {* e
<article>
% ~2 I+ s- l, @3 C3 g" W+ N# g$ |! g
<section>
. k- u) t8 M! g% H" L' U6 L
<h2>audio element</h2>
]* D: K5 K% K& k# I+ B
<audio id=audio src=./media/music1.mp3 controls=controls></audio>
0 T% c6 [- `: R; D
<p>open the <strong>developer tool</strong> to view console logs.</p>
; t- |. f# g6 V& O3 F# U8 b
</section>
$ n' h' x' H0 V6 M* s& P: W
<section>
% P/ L% v6 w' H5 |1 o9 E8 y
<h2>controls</h2>
- w' t- ^+ d3 p1 d
<button id=play>play</button>
7 {, I! q- ` L5 ]4 [# O! }5 S
<button id=pause>pause</button>
- n, _5 M: \6 K+ p9 B& G) Q( J. \3 Q" N
<button id=get_paused>getpaused</button>
4 \1 A$ s, ~1 i0 N' X9 H9 G
<button id=get_ended>getended</button>
; P7 T' d4 @' G) g
. I( e9 N8 b2 T
<button id=volume_down>volume-</button>
2 c+ s; M! i1 K* O% j( I1 S
<button id=volume_up>volume+</button>
9 P9 {; C7 H i% ]- f
<button id=get_volume>getvolume</button>
- ?* L0 S2 C4 U, w) { J+ t& V
9 ]7 C3 R' P o6 v7 j( D: D
<button id=get_src>getsrc</button>
# O2 Y% N- O! ]/ u, a
<button id=play_music1>playmusic1</button>
3 q# {2 I) d& {/ J/ f8 [
<button id=play_music2>playmusic2</button>
* H" `8 o: G9 f i q
<button id=remove_music>removemusic</button>
k$ }; o) B, ^$ `: u; r& L. W) `
<button id=get_current_src>getcurrentsrc</button>
~0 H. V% R/ c4 W; g$ f
( d; o" H* `5 w2 G) z
<button id=get_initial_time>getinitialtime</button>
; _' _' j, V1 k9 b
<button id=get_duration>getduration</button>
+ K0 C+ }; a& _$ D
<button id=get_seeking>getseeking</button>
' n# a0 E: ]9 B% R( P3 E
<button id=jump_to>jumpto_30s</button>
; }- N- a9 O- \) w4 K. R \
<button id=get_current_time>getcurrenttime</button>
1 X2 B- x' y* [& Q1 p
<button id=get_played>getplayed</button>
8 t: o; c; ]( q3 _3 R# {4 ]
6 c8 r. g, C6 \( o
<button id=autoplay_on>autoplay_on</button>
; w. r- O, K( R Z
<button id=autoplay_off>autoplay_off</button>
' O% u9 [# T/ o
<button id=get_autoplay>getautoplay</button>
1 |0 U3 u+ Z8 e; y: F5 C+ T
% {$ R: n" _* f# x$ {+ U% R8 H5 Q
<button id=controls_show>controls_show</button>
% k7 i: K: O* A
<button id=controls_hide>controls_hide</button>
( Z6 s3 m% }5 Z1 a
<button id=get_controls>getcontrols</button>
6 f9 T* y) ]6 \8 x9 ?1 Y2 D
( m$ ?+ N* X# }3 h
<button id=loop_on>loop_on</button>
\' Y; G8 B) L' L
<button id=loop_off>loop_off</button>
) x; R! y, x# \: o2 Y4 W U
<button id=get_loop>getloop</button>
. P9 ?- ]( s8 Q, `$ H
. B6 S' N6 {2 x0 d4 I1 [
<button id=preload_metadata>preload_metadata</button>
% E; k' h$ [& |9 p. M4 Y9 w
<button id=get_preload>getpreload</button>
( @% w, C2 b& _3 {0 t! r) A
7 R0 Y; j0 m7 W1 Y. ?0 K5 A! A
<button id=get_default_muted>getdefaultmuted</button>
- m T2 [; I$ y/ w
<button id=mute>mute</button>
5 M' L( C- N4 T
<button id=unmute>unmute</button>
$ @3 w, h1 O! f7 ~5 j' |" {
<button id=get_muted>getmuted</button>
1 x, v3 W1 c4 u* v) Q# i
$ A( m3 V. W% [
<button id=get_default_playback_rate>getdefaultplaybackrate</button>
/ j `' C5 {" c/ C5 D& R h# Z! g
<button id=playback_rate_down>playbackrate-</button>
# z- s- m# ]. h- {
<button id=playback_rate_up>playbackrate+</button>
+ b! Z$ _. X8 g/ e& Q g
<button id=get_playback_rate>getplaybackrate</button>
6 Z- \. D% W6 @/ B5 @
2 R) I% \6 X$ H$ y" b% W
<button id=get_network_state>getnetworkstate</button>
; W! Y* Q1 t" G6 y1 H( y
<button id=get_ready_state>getreadystate</button>
$ y- W8 m; D5 J ?
<button id=get_buffered>getbuffered</button>
) W7 f2 A: x3 J; q
<button id=get_seekable>getseekable</button>
* g: Q" q5 w; q3 L0 m
</section>
2 `5 N4 R# C/ e" N' L: u1 T7 U9 N
</article>
8 Z" K8 F0 W& E1 d
<aside>
2 W7 F% D6 R2 y$ ?) E% e' f
<section>
5 ?/ c* g1 l# L; Z9 m0 t$ k
<h3>player attrs</h3>
' z8 D2 {& A. F# ^
<table>
. v8 N9 Y- _$ e. j8 S0 C6 [
<tr>
+ t+ v# ^0 `# m& E' L/ a7 }
<td>autoplay:</td>
2 X' O8 ?8 H: n/ }0 S/ \9 t8 N
<td id=autoplay></td>
1 [& v. Q1 L5 r
</tr>
2 }; `/ N7 ~7 T/ y
<tr>
$ C5 T2 ]) Z' t7 Y
<td>controls:</td>
" ~/ C/ n' }- `5 `/ g
<td id=controls></td>
$ I2 _3 ?% R4 g5 ]( f$ _) ^
</tr>
) x) p8 y1 |2 M3 x/ c3 E
<tr>
1 l/ [& Y: w7 f* }# ^
<td>defaultmuted:</td>
0 _1 f c) }: _- v5 g2 S% Q c, u
<td id=default_muted></td>
6 h& B& z& u" i u( m+ i6 S* r# X
</tr>
7 O8 V) d, t9 j' a$ Q! j9 I
<tr>
& h( j" b- l' [
<td>defaultplaybackrate:</td>
5 Y; B! M% V7 L8 u3 {& i
<td id=default_playback_rate></td>
0 F$ c* W7 K! [2 P/ \" ]+ z$ F& }
</tr>
% i* c; L4 n! u
<tr>
0 r! Y) a0 u; f1 G% E7 l" V
<td>loop:</td>
. a5 ~ p. _9 V# }. U
<td id=loop></td>
5 z r( O% h+ Q9 A* R
</tr>
0 d, R2 z- W' m" Z3 ]. ]( F+ m
<tr>
4 w9 X* w' z9 T" F, Z
<td>preload:</td>
- S0 j6 Z+ T+ H2 M
<td id=preload></td>
/ C3 F7 ?- s. R
</tr>
$ i3 p3 `4 L$ Z" U' j
</table>
# |, Z/ `$ S8 E- R3 B
</section>
* g$ o! q9 t: U& d" N. y9 c
<section>
) _% W2 B+ p5 J( |
<h3>player info</h3>
# T; i* Z6 C( @# X$ C# Z
<table>
" C5 L5 ^: N: `2 I
<tr>
" ?+ Z: Z1 ~9 N3 b! \
<td>src:</td>
6 x4 h7 E; q) Y! [& U7 B- N
<td id=src></td>
/ z9 I3 y C; E% g6 P
</tr>
% Q4 J- t- {" G8 e6 Y8 F
<tr>
3 m. ?! V* k7 W, Q( g$ {
<td>currentsrc:</td>
% [- {& }: D' T2 j: t; f5 n
<td id=current_src></td>
7 c% I; L6 J/ ^, B8 k/ }; X, X
</tr>
) |% u6 O% D& m# o& U/ G: i1 x5 o" W) \
<tr>
: ` c% ]3 G- f: @1 N' K% k
<td>duration:</td>
6 g) n% B) ^$ _+ ?& {1 y7 z
<td id=duration></td>
: i8 w E: C7 p! `! u
</tr>
& F/ T) o3 a8 n: C: g
<tr>
3 g) H! X4 L }
<td>currenttime:</td>
& ?' a( Z( w2 W4 B) {: j7 F( y# @
<td id=current_time></td>
: c; a: u" m( W& V
</tr>
% C( v' u q K1 ]8 M* \. V. L
<tr>
1 o# K. A4 z" a, C: S/ u
<td>ended:</td>
2 J# [7 W( Y& p' I' j
<td id=ended></td>
+ N$ D! R" I1 J8 v+ B U
</tr>
* h# S! e& q# I5 O1 O
<tr>
9 l+ l' U7 j2 B8 g# M# _- [3 {8 h# ^ N
<td>paused:</td>
, ~. S# h/ i7 s- M
<td id=paused></td>
* [. S2 b6 Z( k7 g0 m4 k; ~' f; U, S9 V
</tr>
. y, Y% j/ ^1 f, v) x
<tr>
b0 A5 X2 Q4 ]9 O) D8 h" G: C! F; W7 _4 x
<td>muted:</td>
0 r% L6 E' [6 q& Q
<td id=muted></td>
2 F5 w6 F$ t- O/ v
</tr>
4 F, j! B- \2 ~# q9 [6 |4 ?5 M
<tr>
1 u: R* Q8 y4 ^. U
<td>volume:</td>
, Z) z6 t* U1 H
<td id=volume></td>
' y) G* d" C+ l, P
</tr>
* d* @, h* c8 }9 Q; g
<tr>
* }+ D/ W" f% j' j- S) N9 @
<td>playbackrate:</td>
6 J+ c- s% b) Z$ r% u; ~0 D0 z& J4 L
<td id=playback_rate></td>
3 v; S' ^ k& a: m
</tr>
% Z" ]6 \/ @- W1 p/ @
</table>
; i$ Z: G5 S/ M2 ?
</section>
. n8 _& H1 j* _/ k4 e0 _; P7 o
<section>
" w( k6 P2 f, O$ Y, H1 h
<h3>play status</h3>
9 {/ r2 W. \% y! ?
<table>
7 w& l, |% \6 p. V& w! T0 O/ c
<tr>
/ A; p8 M8 O$ G6 W6 G# i
<td>networkstate:</td>
* }0 R5 e) P; w: ^. G+ f
<td id=network_state></td>
; {: O+ w' f a- p
</tr>
0 B1 J' _: ?/ a% K2 r
<tr>
4 L0 z; y* t) s1 T) {
<td>readystate:</td>
8 C4 A9 V" m0 f7 A, s
<td id=ready_state></td>
, D, F6 P& [/ Y2 g; p% c
</tr>
- g6 g2 s3 Z/ P6 J- f: M- u/ t; F
<tr>
+ E% \, D- N8 M2 D% @; T! Q O
<td>buffered:</td>
6 i5 n, G9 }7 Y0 a4 ~/ w
<td id=buffered></td>
# w0 w e. r# I' ?( h+ J
</tr>
* r W) `- `( T
<tr>
. P: _1 P6 L5 ?+ K8 Y1 X, a
<td>seekable:</td>
; J: R* }$ J. `/ ^8 f( h6 F0 v- @
<td id=seekable></td>
7 `0 B7 N+ n0 u2 f: o. k- \
</tr>
- p2 \+ ~4 I8 [) v8 i$ z/ |" _+ h$ N
<tr>
, D3 q& y4 p/ v& J2 l" h
<td>played:</td>
1 V' g1 e$ K) v; Y
<td id=played></td>
: U9 m. O" D9 S
</tr>
5 n6 p; _7 j& s; E
<tr>
$ Y f* l. N- C
<td>error:</td>
$ Q! F G4 R: S5 t6 ]
<td id=error></td>
' h! w" U0 C& A2 d. }9 c6 u
</tr>
B6 S. @% A0 Q3 ^
</table>
, l- Y! {; _8 M5 `" R9 g
</section>
7 E* z5 d6 {7 s- i
</aside>
6 a X3 r" z( X4 l
</body>
% _6 M( s; @1 K1 Y+ |* I& k& \0 w
</html>
/ H8 X0 w: x: S/ i
6 i( n+ A' K8 P! W5 z8 _1 J% l, t
audio-controls.js
8 f. o: q+ C% t4 r8 F' J
; U* M! P# o/ r1 M" M- J' z
代码如下:
/ @! L3 N/ ]8 ^; b: }
window.onload=function(){
9 D, r+ j; f) A+ C
// get autio element
% G! l+ ?( [$ J l6 P
var audio=document.getelementbyid(audio);
& f5 H8 ]& e) \" s5 m
// play()
$ b( E8 ^, K0 w, N
document.getelementbyid(play).onclick=function(){
& G# P" `9 f9 Z8 B5 z, D
audio.play();
# X( r0 W7 J' K7 R
console.log(play);
6 t2 t- ]8 U# |3 G: g `+ J# O/ i% |8 d
};
7 E6 w) `4 j' f0 Y
// pause()
8 j& Z% K! u# {* ?
document.getelementbyid(pause).onclick=function(){
' a0 Z$ o: y- n2 B
audio.pause();
- L. i' E3 x4 b% n( i
console.log(pause);
$ J/ e( V; E& A3 e7 W% G! R5 }7 x
};
( q6 R9 t3 N) q/ w0 _7 c7 ^( w/ m1 }
// get paused
8 B) i- X% D% m
document.getelementbyid(get_paused).onclick=function(){
9 n: F+ M8 l$ _3 E( u( r" Y- t
console.log(audio.paused: +audio.paused);
0 R$ T' j( J4 Z4 q8 m3 m8 f
};
* v A3 Z# `' M5 z1 j
// get ended
. `5 S, I$ E1 d0 {8 k5 o3 Z
document.getelementbyid(get_ended).onclick=function(){
2 y% B3 D, ?) N; j; b* ]
console.log(audio.ended: +audio.ended);
. U2 o7 v3 [% ?7 M$ Y
};
: v! F) p9 L# `: l* \+ [6 C$ G
// set volume-
3 M) a" ^! |# J6 O
document.getelementbyid(volume_down).onclick=function(){
. t! h' d0 {1 l5 t) L
audio.volume-=0.2;
9 E3 ?5 |8 K6 N* I
console.log(volume-0.2);
6 U2 f% w( v. Q% B
};
4 Z: n6 D3 @1 E2 [0 e/ s
// set volume+
3 V5 _% K4 i; @3 q4 G' \6 B
document.getelementbyid(volume_up).onclick=function(){
- B8 o+ r8 f+ k6 E4 `
audio.volume+=0.2;
G* N% V: u' r9 F7 Q# h
console.log(volume+0.2);
$ M2 F; B4 Z2 b! _6 }3 {
};
" H" Y& @( |: F, a
// get volume
3 g. ` _% s3 Z7 ^ \
document.getelementbyid(get_volume).onclick=function(){
2 Q' z3 [& B& v) ], l! z
console.log(audio.volume: +audio.volume);
, Z; Y6 B$ J/ `) T' E6 k* ?
};
) M9 m6 a3 F( {) L
// get src
: _$ z3 Q, X9 C: x
document.getelementbyid(get_src).onclick=function(){
3 R& P4 Q1 k7 v% ~& I
console.log(audio.src: +audio.src);
% d- S0 }: R! ^4 x5 D
};
! F' J% d' C9 \( x, B
// set src_music1
! v, t, _ ~% w" k
document.getelementbyid(play_music1).onclick=function(){
! j- T. E0 ^0 g* }3 V: {/ u- d/ o
audio.src=./media/music1.mp3;
" m2 |; E$ a6 G
updatesrc();
- v& D; F! O9 G* {" @
updatecurrentsrc();
% V( l8 Q+ E- m g
console.log(play music1);
# @/ P3 {5 F! O3 Y/ g- n
};
+ m$ c! ~$ I( R: U& }6 [
// set src_music2
4 i$ |, k, Z3 m& B+ \
document.getelementbyid(play_music2).onclick=function(){
+ Z/ r% q9 N" ~0 D( ~6 a: G
audio.src=./media/music2.mp3;
/ N; q% Y4 I8 B, g2 F1 X5 P/ B0 n9 q
updatesrc();
0 |9 }0 S. Z# `: l' F2 ?8 K6 X
updatecurrentsrc();
; W. }9 m) A2 V$ H* V% Z1 h% v6 _
console.log(play music2);
6 R8 s7 u* S) [3 {* n8 ^( E
};
4 \. J7 }, u; z; t/ s
// set remove_music
7 ?% Y4 C7 ~ b- Y9 d* j' ?. @ Y
document.getelementbyid(remove_music).onclick=function(){
7 R7 v! S* q: x
audio.src=;
8 e5 a# c# {0 S- R' @. Z$ f# x8 d* b2 p
console.log(remove music);
3 e6 V8 G9 Y- j8 T) g
};
- j3 M% T6 S, F+ U
// get currentsrc
7 Z1 G4 ]) R4 j/ b; }
document.getelementbyid(get_current_src).onclick=function(){
+ [2 U# ^2 w+ N; @ n# x# z
console.log(audio.currentsrc: +audio.currentsrc);
" x, {9 d; E9 d4 F9 t! X- T
};
+ A0 \! r! }8 ?9 L) Z) C6 @/ b
// get initialtime
" k2 f9 M- ~+ y
document.getelementbyid(get_initial_time).onclick=function(){
5 t; K7 e/ _) P) C! g. `) o& q, E
console.log(audio.initialtime: +audio.initialtime);
$ ]8 L; c4 c% |. {3 O2 E$ R# ?
};
1 F' F7 Z" x% u, n8 H
// get duration
, f% o5 ]/ I: J+ {
document.getelementbyid(get_duration).onclick=function(){
! O* o3 G% A( R9 A B8 k L
console.log(audio.duration: +audio.duration);
7 h6 M6 n2 _ F
};
7 }- G( a# c3 ^: l- @& @
// get seeking
3 a' \4 c. b; Z! E- T* `
document.getelementbyid(get_seeking).onclick=function(){
7 p6 Q( l' f3 ^# R: d5 |3 k2 R
console.log(audio.seeking: +audio.seeking);
+ l2 D& l. X. G) n# {! n
};
# [* s$ j3 K. B3 q' I/ n2 K8 C" \
// set currenttime
# v* Y* w2 f1 e0 _2 |2 k
document.getelementbyid(jump_to).onclick=function(){
/ x' x5 R( V& n- d9 T( s! D7 i; P
audio.currenttime=30;
{4 K0 s2 B5 `0 {! ^' Q% r% c
console.log(jumpto 30s);
$ `1 e5 u) H/ B* G& ]' M0 ?
};
3 O) ?$ [7 [/ C, m0 d
// get currenttime
+ {! X( d4 n7 m; ]6 I
document.getelementbyid(get_current_time).onclick=function(){
& _9 z. k/ I9 x3 m! I0 G
console.log(audio.currenttime: +audio.currenttime);
' S( m" h0 ?* q5 t& d1 F& R* Z
};
0 P# _% k3 ? c7 x
// get played
5 a6 p( F; Z6 `" y/ T% q
document.getelementbyid(get_played).onclick=function(){
0 c' U# [5 w* C. U
console.log(audio.played:);
# G. o5 u$ A/ l) K. |& K
var ranges=audio.played;
3 F$ G- N" z0 b6 K
var n=ranges.length;
! ?# G, E- z$ U1 M. u
for(var i=0;i<n;i++){
& ]& X5 K* A9 f
console.log((+ranges.start(i)+,+ranges.end(i)+));
, [% b2 y! U- J" D3 G
}
6 z1 o& ?7 s- d% p6 ]9 H' ~
};
J9 C# F; `8 J+ S
// autoplay on
2 j9 o7 j& b; V6 {* c
document.getelementbyid(autoplay_on).onclick=function(){
3 x! z$ |/ a; F+ E g+ q
audio.autoplay=true;
] O, j8 a3 ]5 Q' Q
updateautoplay();
* E' |1 {4 T$ b' w+ f/ t% `
console.log(autoplay on);
; \% U4 A- U D+ u/ \2 R9 [2 y. O3 x
};
' P3 ^& d0 X* M6 q6 b
// autoplay off
2 f! ~1 A; N5 x9 A z! V' y
document.getelementbyid(autoplay_off).onclick=function(){
8 g4 m. s; @5 _. x
audio.autoplay=false;
% L- O- l7 e+ R0 v
updateautoplay();
1 b B1 O- n9 P
console.log(autoplay off);
, ` V2 P9 x0 g {( l1 M
};
0 n: O$ r/ e5 w' o. u
// get autoplay
8 ^( o6 B5 t! l3 Q2 p
document.getelementbyid(get_autoplay).onclick=function(){
$ I8 u6 x2 u* Q* @; q0 w
console.log(audio.autoplay: +audio.autoplay);
) ?2 W" ?" c) Q' Q, B# k" b* V
};
; B9 y4 H$ [* g6 B* A
// controls show
! C+ j# ^$ _1 m
document.getelementbyid(controls_show).onclick=function(){
, B, r4 q# N3 p/ x) E
audio.controls=true;
# p" }" g" A; \8 J: z; }
updatecontrols();
( k$ |$ e! A% g6 t' u
console.log(controls show);
% a( U* u4 Q! O1 s4 B! L
};
- q' a! V& B3 P
// controls hide
" K* ^5 H2 _$ n4 \2 L1 S
document.getelementbyid(controls_hide).onclick=function(){
6 \* U4 H# G( r$ f" L: ~7 _ l+ z7 q
audio.controls=false;
9 X3 t1 q$ v! F# O
updatecontrols();
* l9 R) K2 O3 L5 j
console.log(controls hide);
# ?+ v& Y4 e' o9 [, \: l3 R
};
& Q$ Q) M* t/ ^; F% _. H6 B/ L: \* h
// get controls
& Q8 h: K, l. ^4 q W) D
document.getelementbyid(get_controls).onclick=function(){
* V, G; U N2 @! I
console.log(audio.controls: +audio.controls);
7 ]4 _7 A: q6 _! h" C( o
};
/ G% {& B7 O: R" X
// loop on
7 ^" j$ M) B/ y' G) _
document.getelementbyid(loop_on).onclick=function(){
$ T3 g8 j* |9 o m, j
audio.loop=true;
9 j S1 D$ H% b, A6 l& M" f4 O' u
updateloop();
5 k$ l7 T1 b8 _& Y
console.log(loop on);
0 p* S! X1 O9 f4 E
};
$ f( A' f4 x9 v S
// loop off
0 B7 `/ z, S8 r0 e R& N
document.getelementbyid(loop_off).onclick=function(){
6 }) m1 ?) d7 p. e2 c. m
audio.loop=false;
. u E# i8 y( W7 H( V8 _
updateloop();
; ?. h) T) F' k2 O
console.log(loop off);
: n1 U% H3 h1 ^+ _7 J( {# i m
};
7 `* H5 a& Y" N; Q8 m& {3 k
// get loop
) v/ K% ^8 Z ~
document.getelementbyid(get_loop).onclick=function(){
/ J( X! v" n6 d9 [; W
console.log(audio.loop: +audio.loop);
. p1 d9 z0 {$ M) R: _
};
7 P) q1 D* S/ L" H- c/ V+ ]) ?6 j9 u
// preload metadata
1 y) C7 `9 Y1 X' _3 l
document.getelementbyid(preload_metadata).onclick=function(){
* o9 K3 ?5 R3 A; [- b
audio.preload=metadata;
7 ~5 W- o# F U5 A' g( b/ ` d
updatepreload();
0 H, z9 X4 ]1 y6 T+ t& E) N
console.log(preload metadata);
' q! E4 ]6 W& I P7 G
};
$ C+ ^% y- O7 r$ t* `: a
// get preload
, X/ n4 O$ Q+ @
document.getelementbyid(get_preload).onclick=function(){
( ?# f* ]. J# t3 I
console.log(audio.preload: +audio.preload);
o1 t, n0 r& v* @" J( v% O g6 Z
};
# k. a2 h2 _) Y+ e. Y- P8 {
// get defaultmuted
: P6 F; G3 S' _8 |
document.getelementbyid(get_default_muted).onclick=function(){
3 ]/ Q8 D+ y7 z+ z
console.log(audio.defaultmuted: +audio.defaultmuted);
- F [* S6 M7 x
};
) l. m, q2 V+ R8 z- ~3 F8 {( M# K
// mute
/ ?6 t- G; Z+ f+ ?+ }
document.getelementbyid(mute).onclick=function(){
+ M$ ]3 r& ^9 Z$ J* O4 t
audio.muted=true;
1 C( ]* D& i+ A
updatemuted();
$ s/ k0 e2 \' C, B, v" x
console.log(audio mute);
! G. s2 o% D; t5 D' [3 |6 w
};
: }0 h( I% W/ ^6 B" b6 @
// unmute
+ M1 a1 V4 h2 |) u: K
document.getelementbyid(unmute).onclick=function(){
- s. }) B9 J! \
audio.muted=false;
: N6 \ Z- x7 `. _8 P; h" h# I" S
updatemuted();
9 c, g; P' N3 _$ n2 |9 o7 Q! g
console.log(audio unmute);
' T8 m7 U+ e5 d; T0 z. v
};
' G; g7 Q) F3 n) {! D
// get muted
& z J( a# ~! s" K4 _4 a
document.getelementbyid(get_muted).onclick=function(){
, U' ]( j/ w3 M
console.log(audio.muted: +audio.muted);
2 S7 L, ?9 @! h0 \6 I0 h
};
; Y6 e- v9 x' [3 ~" K4 N/ c# ~( M
// get defaultplaybackrate
% [) `- D$ P+ R9 F; L3 _
document.getelementbyid(get_default_playback_rate).onclick=function(){
( T) b. I- j; [! E6 o
console.log(audio.defaultplaybackrate: +audio.defaultplaybackrate);
& e* o- y+ i& i. X* Q. y4 h' d
};
7 c" a2 b: _7 E' X j* n
// set playbackrate-
# A: d( X2 ]( E' H
document.getelementbyid(playback_rate_down).onclick=function(){
: E) g r6 T1 j; ?) p" F, ? U
audio.playbackrate-=0.2;
; n3 `7 Z( A0 b- j" D' z
console.log(playbackrate-0.2);
1 I8 h: C/ |( u2 h
};
/ V4 s( m$ r; E3 R0 U) v2 y
// set playbackrate+
) N3 X' R# b8 k, _' g; z
document.getelementbyid(playback_rate_up).onclick=function(){
8 s& b {7 J* c0 e" Y$ U
audio.playbackrate+=0.2;
( e# O( y6 p6 j3 L# l( r8 r& P- P
console.log(playbackrate+0.2);
% H8 `4 B- w: B' v0 C$ H$ ]. `2 k
};
' L9 y% Y/ C% g+ d
// get playbackrate
& U7 W9 f) X5 C% h e* q- m) H
document.getelementbyid(get_playback_rate).onclick=function(){
) }5 G+ l3 r$ ~6 y: U
console.log(audio.playbackrate: +audio.playbackrate);
( ^3 e# q, g$ \' w+ Z% X
};
5 R7 b. d; B8 m" e! b+ E
// get networkstate
3 P* h ^7 A& r3 ^! p, V
document.getelementbyid(get_network_state).onclick=function(){
' F8 P# n& `3 G2 n b4 Y5 D
console.log(audio.networkstate: +audio.networkstate);
1 f& c, T7 _; ]1 I( j1 B1 r/ n
};
4 g0 k: d3 J( k( g
// get readystate
0 R% d' T5 V) ^3 a/ S
document.getelementbyid(get_ready_state).onclick=function(){
$ |6 i& B& \4 J0 ?$ z# L: B
console.log(audio.readystate: +audio.readystate);
1 P5 ^1 M$ E6 ~4 s6 v
};
: O; q" Y0 _3 q* s5 f& X
// get buffered
& l$ A6 H; c( ] M2 b9 t3 l: m
document.getelementbyid(get_buffered).onclick=function(){
) |- w! X. G+ h: ], a& X3 I
console.log(audio.buffered:);
9 @7 F! I# F4 K
var ranges=audio.buffered;
! O5 W, C1 n! p$ `
var n=ranges.length;
% \' O: h5 R C0 y; }
for(var i=0;i<n;i++){
! m0 m* o8 S% K- n% Z8 N
console.log((+ranges.start(i)+,+ranges.end(i)+));
; Z& P. k j' }1 P& W4 E* ^% B
}
# m* \( e0 N& ~( e# Y, k$ h
};
7 R1 E5 B r9 q5 ~* `0 X
// get seekable
2 v9 Z4 T! w6 o6 A/ [
document.getelementbyid(get_seekable).onclick=function(){
$ A- \4 L. b3 m3 E+ J8 T
console.log(audio.seekable:);
; z& t& o) X+ W/ P4 K4 r* v1 }! M
var ranges=audio.seekable;
1 K# m! \: ?2 B' i6 E( I
var n=ranges.length;
5 s4 g" w( H% S- ?
for(var i=0;i<n;i++){
) [* {/ \5 k' }' X
console.log((+ranges.start(i)+,+ranges.end(i)+));
3 N3 v9 T& V5 r w! {( y' r1 f1 @7 G
}
+ O4 P9 e( _, I( Q# x
};
5 F# K! \: K: ^! Z4 v+ u9 `5 R
// dom events
8 D8 p- Q8 T1 l" `3 t3 }' Z0 F
// abort
1 r7 n' e4 I" R4 D2 y: y) z
audio.addeventlistener(abort,function(){
# a* D9 c+ ~: ^- P# B' M
console.log(event:abort);
% r7 \" Z0 ?& ^
});
2 O$ I3 {: e9 ~
// canplay
: Y6 G; c4 g, J8 [; m" ^6 ?( s0 B
audio.addeventlistener(canplay,function(){
9 j. l, F8 c: x* q* j7 n
console.log(event:canplay);
+ _. _4 ]5 w9 Z0 ]3 v' r7 g
});
6 i) t) K* I$ o9 I7 J( ?
// canplaythrough
4 \* \: M/ X; W q% L" d1 Z( x
audio.addeventlistener(canplaythrough,function(){
- g) e2 I, w ?) m3 F5 R
console.log(event:canplaythrough);
! w+ x4 f: O2 h
});
$ p% Z4 b5 A( O4 @
// durationchange
' O" H2 `$ ]: x# [; `" `+ _
audio.addeventlistener(durationchange,function(){
" ~* R9 b3 S" |) U& X' H
updateduration();
1 I6 V5 p: l8 J, D/ B
console.log(event:durationchange);
; I$ k( H& Z# r# h& K! z
});
6 @" ~2 k8 B. O+ E
// emptied
% a8 \+ r" D1 B. s: J" y
audio.addeventlistener(emptied,function(){
; d) \ z4 X# x: {
updatesrc();
) M q4 K* t9 l9 T5 [; b$ ]( E
updatecurrentsrc();
" S. g8 K7 J, G, t" s6 a/ T. l
updateduration();
5 p. g/ [5 P2 X0 d
updatepaused();
3 D3 B" o3 o; y
updatenetworkstate();
" @! u4 Q) i% h5 L7 y9 T# R
updatereadystate();
9 Y4 q/ P |9 T( L
updatebuffered();
+ p' m; T9 w% k6 p& o' j
updateseekable();
% n7 w$ r3 M' g! v$ W c$ [: l' |& |
updateplayed();
& U& j* d: X. ]5 |# O) H
console.log(event:emptied);
5 l" K, \0 }3 {6 L
});
! G! K5 B) A( ]. x" b; m$ ?
// ended
9 ]4 x4 T3 j. R/ c, [" S
audio.addeventlistener(ended,function(){
5 j; P0 v& t8 x! b' z
updateended();
! W6 C: I$ ^$ U
console.log(event:ended);
% y9 [" I3 r$ T. D
});
$ f7 a+ V" d% A( N4 i
// loadeddata
4 R9 }3 T! |5 z2 B% I) i0 t& r9 E
audio.addeventlistener(loadeddata,function(){
8 a4 M( E# r1 D, k F& {
updatenetworkstate();
: f$ K _; N; m8 k! K) d
updatereadystate();
. J' V0 O( A$ C) ?* {
updatebuffered();
! O( P, n [9 z2 w; ?# B
updateseekable();
2 h) ?) i2 ?. P& A& N c' N- K
console.log(event:loadeddata);
3 e5 t; C0 d/ R, I; D3 v' Q
});
, _! P1 d) n( A' u
// loadedmetadata
. @% [3 \, Q3 {3 s* m
audio.addeventlistener(loadedmetadata,function(){
2 j' R; J v& T
console.log(event:loadedmetadata);
2 V% p$ m& K- `1 A
});
- g2 B1 x1 ~' E# U6 Y) f5 c
// loadstart
+ I4 [2 t/ F" T# |
audio.addeventlistener(loadstart,function(){
! C. L" E/ y* F9 [# Q$ b0 f
console.log(event:loadstart);
3 Z* ^3 r# F! x% o7 c8 [
});
9 z z$ K$ A4 E. m8 F" n
// pause
/ ]% q: W+ d) f* E
audio.addeventlistener(pause,function(){
' H- r! ?* G3 D- ]; ]. T/ C! m ~
updatepaused();
; ?0 \; U+ v% M$ q0 x' c9 |% s
console.log(event:pause);
6 M# @: Y8 ^9 P6 `% W+ G4 p' g* d
});
/ ~9 \6 ?8 k, |5 r2 F
// play
' E; a) Y# c" c; [, T
audio.addeventlistener(play,function(){
; N4 s o. V9 J+ \7 L x
updatepaused();
! f0 e( @8 q x: B( W
console.log(event:play);
. l$ e0 l0 t* V& x* `7 }" S
});
) j# ?6 c# s, P M
// playing
. B# l, v' R+ Z# \1 K# L9 R
audio.addeventlistener(playing,function(){
^" b+ I5 O/ W
console.log(event:playing);
& j1 s, P( |! {' K4 M4 ^( F
});
8 S# G, m% J0 u
// progress
. r! x6 G5 `, I9 C' i
audio.addeventlistener(progress,function(){
6 q* ]8 _3 T% G2 f
updatenetworkstate();
/ M2 x% W$ j) B, j# z
updatereadystate();
. C4 d+ f. x5 I! {6 p
updatebuffered();
/ V" B2 F! S4 y/ _. i s
updateseekable();
9 |( S+ g1 J. e5 Y. S* T7 w
console.log(event:progress);
" F2 {2 `2 U% o; S+ u. a( K6 E1 Y
});
! Z5 [( L$ N0 s; K
// ratechange
) X x. C5 Q% ?
audio.addeventlistener(ratechange,function(){
7 @9 t& R, [1 d$ v. n* m- w4 K
updateplaybackrate();
. j: R. V3 b* L X, y6 D, `+ f" \
console.log(event:ratechange);
* a1 D1 o% T/ o& l" R
});
* k7 k9 I4 p9 P* ~4 l
// seeked
" X+ e0 E6 v4 p. L( b6 b
audio.addeventlistener(seeked,function(){
7 S6 E4 l! V$ z4 C4 B0 ~. j" c, |
console.log(event:seeked);
d$ R! q4 i. G4 I2 c
});
/ |3 q* H0 v2 }9 Y. R9 p; {
// seeking
/ w# Z6 y& X+ L+ n% m# ]6 b
audio.addeventlistener(seeking,function(){
) K! v# T: [7 J A& K/ \ |
console.log(event:seeking);
7 O& ~1 k. q" K+ r& T
});
& a* D8 o5 @: b7 H
// stalled
# ?* a3 g" ^6 s
audio.addeventlistener(stalled,function(){
6 h. k# A# V4 H: [: `
console.log(event:stalled);
3 L8 t; | h2 ^0 o
});
+ M$ P9 k5 g* g% i$ l0 A
// suspend
/ f4 i/ w a0 z2 D
audio.addeventlistener(suspend,function(){
. l5 g9 x- Q9 \& ~% l) \& j( y# `
console.log(event:suspend);
+ Q- I6 R3 n/ C: }1 R& [
});
4 M: x" \$ m1 k
// timeupdate
+ q. H3 q8 S0 Z5 Y- k
audio.addeventlistener(timeupdate,function(){
. B2 R$ s2 O& @" y: s7 k# V
updatecurrenttime();
- Q" p. b9 }1 m/ h( l, B8 ]5 _0 _0 w
updateended();
# j( i, H" v5 X3 h
updateplayed();
+ X. y: e. c* g( l
console.log(event:timeupdate);
* I& \- {/ U& [! F- P) `
});
! A8 R1 O% z( j( C$ M% n' s5 M
// volumechange
! ], v& i# Q+ M' }# q: f
audio.addeventlistener(volumechange,function(){
! V+ `- ]. F4 A) `# S
updatevolume();
' {# O4 ` m# ]2 b; w
console.log(event:volumechange);
2 {. X3 E) C" N9 q7 _
});
8 X) x& O" x# C* p
// waiting
3 g$ k# c" ^6 K) _# S, {2 C/ _' l
audio.addeventlistener(waiting,function(){
8 _ p" g" N( a ~6 z
console.log(event:waiting);
. n$ R( a2 Y8 E; H/ W& P4 @7 u7 j% A
});
' P& I p" _/ y$ q, A# Z: H
updateautoplay();
4 z1 ^& C+ k+ @5 Z, N
updatecontrols();
( h' T$ M% \- v
updatedefaultmuted();
! r- z+ }3 A# x' L; @( Q% Q0 g, J
updatedefaultplaybackrate();
2 _6 M9 L/ j u
updateloop();
2 Z) V/ q4 ~' N' q. g a
updatepreload();
/ K, H' O7 p5 ]" h
updatesrc();
% q" E: z, Y9 S0 O5 U/ J
updatecurrentsrc();
. t, P; s9 c* ~5 l9 t% h
updateduration();
* a) O2 k" o# q+ i
updatecurrenttime();
' {; _8 M( t/ D v9 @
updatevolume();
# S) x/ C2 e1 f2 }! J) ?9 P6 U
updatepaused();
$ `- ~* n5 h4 y
updatemuted();
$ d# t. s+ J% `; h3 v2 [4 P, R
updateended();
9 `% @/ U% P: e
updateplaybackrate();
5 K3 b6 G1 Z1 Y; G6 Y
updatenetworkstate();
* i+ i$ _& F; o$ [9 j9 W6 a, S4 {
updatereadystate();
+ V' M% L6 R: l; {
updatebuffered();
. x1 A! s5 c/ l$ o6 L7 G! I
updateseekable();
3 x( }' q s* D; b/ |- c
updateplayed();
2 z9 ], @. m; o/ t# \
updateerror();
- t3 _5 I5 q6 l. x0 j4 h& W. }) ~ G
};
( Z1 [# B* h0 P; S) L- C* Z+ s& b
// functions to update info table
# C5 N( u; i' H+ a0 s( O3 M& B
// autoplay
( K- z. X( c! w! o
function updateautoplay(){
3 X6 O% Z% H5 V
document.getelementbyid(autoplay).innerhtml=audio.autoplay;
0 D" X: e: w* M( A
}
3 F& C% N2 q) |% U
// controls
4 ]. p- S) J5 b, ^
function updatecontrols(){
+ k' j; [5 p4 S# Y9 h* K
document.getelementbyid(controls).innerhtml=audio.controls;
. g2 R% S: c# v$ P9 Y
}
' L- S8 S' _& e5 f2 l
// defaultmuted
4 P; h6 C7 h! i. t, z
function updatedefaultmuted(){
c7 W1 O: r1 D) B
document.getelementbyid(default_muted).innerhtml=audio.defaultmuted;
7 k1 |9 @4 l! Q w
}
- Q/ V# a ?9 s" q
// defaultplaybackrate
/ Y2 g) Q0 n1 V' E& S
function updatedefaultplaybackrate(){
! q7 Q9 R7 D/ ]3 B& u
document.getelementbyid(default_playback_rate).innerhtml=audio.defaultplaybackrate;
! a* U, u1 r9 d3 a* W
}
* X! i" G: a) l% u9 B' j, |
// loop
7 h5 i4 `" ]2 K6 p) \
function updateloop(){
1 @+ e) M7 P6 J, Y- T& c* G
document.getelementbyid(loop).innerhtml=audio.loop;
8 U9 {8 S) T3 `# V- K" Q
}
4 P5 j6 z& E0 k- t1 K( ]0 Z
// preload
) ^& ~$ b2 ?: H8 S9 X8 N4 y: |
function updatepreload(){
* j9 Q6 {3 a5 B q9 ?
document.getelementbyid(preload).innerhtml=audio.preload;
4 I! P0 i: O' V- b
}
7 T+ Q; [9 T6 _3 P
// src
- D8 l, k$ {* C& x4 _% _/ J
function updatesrc(){
! ?5 L- S0 [6 O. G+ ]/ A
document.getelementbyid(src).innerhtml=audio.src;
, b% q* B# ~' P, S' h; E8 \
}
- m0 V7 _) u K* q4 @ R+ e
// currentsrc
6 y. m' P$ \6 r! V. v0 p
function updatecurrentsrc(){
) l- J0 w3 |; ?3 j
document.getelementbyid(current_src).innerhtml=audio.currentsrc;
2 s/ w: D+ m7 [6 C# t
}
/ g: o5 w$ @. U. }7 P$ ]
// duration
$ r8 m) R5 F) L, p1 e4 U
function updateduration(){
1 E. j; `7 `' b- N7 H
document.getelementbyid(duration).innerhtml=audio.duration;
$ F% L) ~ T: I+ I, a' t2 z
}
4 z, Z" s* z$ B) U0 \% |9 M
// currenttime
! K' `( b8 F u
function updatecurrenttime(){
/ N1 ~% h( @; ]2 h' i2 L
document.getelementbyid(current_time).innerhtml=audio.currenttime;
+ e) G7 N% ^8 S
}
+ Z+ I+ ?0 J/ `: p6 s
// ended
$ ~! Y' x# ^) L' J+ L% g3 @3 K
function updateended(){
, \" l' K( ]2 G' t0 ^$ O# q
document.getelementbyid(ended).innerhtml=audio.ended;
: F# M" y8 o$ ~1 C8 {! \' _
}
& V! s" o i9 V
// paused
. K( r3 o; J8 l$ H1 W
function updatepaused(){
$ F4 |: V% L1 s* g4 ?, {/ l8 Z. ^: |
document.getelementbyid(paused).innerhtml=audio.paused;
. k; t8 X! K7 ]+ F5 g* w
}
$ }* W* ?/ v7 k0 ?- p. `# G
// muted
! t& k8 J( b2 _, e; f
function updatemuted(){
- {9 g% S% F6 w: J+ I: A0 E
document.getelementbyid(muted).innerhtml=audio.muted;
8 B! ^5 W& K! P- z0 \
}
( x! f ]- v+ ]( o# h- D
// volume
/ ?5 U$ q2 @3 T, ]1 U+ e
function updatevolume(){
+ u" Q a) f. M' h
document.getelementbyid(volume).innerhtml=audio.volume;
" G! |9 t9 c, R* F
}
; Y, Z/ h$ \' a
// playbackrate
, G2 x' o" @% T# f5 M9 @
function updateplaybackrate(){
/ [' L# G1 q7 m4 Q) \+ g8 {7 A
document.getelementbyid(playback_rate).innerhtml=audio.playbackrate;
- \: W" U6 c; {/ k; X# t, ?
}
1 ~# o( `' V" U& ]5 G+ W2 B
// networkstate
$ X% \. R k$ l0 n9 X1 f' a4 p) E
function updatenetworkstate(){
0 [' {# h- Z7 b# \# y
document.getelementbyid(network_state).innerhtml=audio.networkstate;
/ c9 L' S: }: H' U3 J
}
6 H8 @% Q# J8 Y' L$ k* x
// readystate
- P, C& c* O: C p5 E$ V! Q: G# E
function updatereadystate(){
5 p4 [4 F+ h {* y% Z; |; v
document.getelementbyid(ready_state).innerhtml=audio.readystate;
; @3 A+ n$ K# E2 q# F
}
4 u9 C! G" h$ s! }
// buffered
5 W8 X. Q! C9 M5 u( X5 q
function updatebuffered(){
0 w0 R4 P: o$ o1 [8 H' X0 e$ |
var ranges=audio.buffered;
. o& }; M; J3 Q' w# A
var str=;
9 _& W- j- f* I0 w+ M
var n=ranges.length;
1 S% D x& k5 W" m$ w0 c' t. l
for(var i=0;i<n;i++){
7 V; J' A( h1 P$ \! s
str+=(+ranges.start(i)+,+ranges.end(i)+);
% h8 f8 ~) N5 L2 o t9 R8 `
if(i!=n-1){
" L/ m J$ O" @" x9 N1 B
str+=
% A% ?& A& n$ S* ~( J
;
! @' g* N- d; j5 V
}
+ R7 F2 F& }5 U' @
}
, P6 t7 g! X% Q
document.getelementbyid(buffered).innerhtml=str;
# R4 f$ {& t9 k9 L' b0 \8 u
}
# v+ p& F. {7 \- q" a3 m' k1 Z
// seekable
2 {+ W" }! q" _0 c; L* H, g% a9 }
function updateseekable(){
~6 A7 q0 V3 f! O
var ranges=audio.seekable;
9 ^- N; P3 Z9 X2 A0 k
var str=;
% U5 S2 s/ z& L' J0 ^
var n=ranges.length;
2 W# x0 ~2 s/ [% C0 `& \7 R* k
for(var i=0;i<n;i++){
|4 R1 }# {6 S: D4 w& h( |
str+=(+ranges.start(i)+,+ranges.end(i)+);
/ s. z. E. I8 F- [6 ]
if(i!=n-1){
/ K1 ^4 P: e, D- W
str+=
& I6 p' f- n7 \1 y0 o: i) v( S
;
$ K) `, \! a2 b0 l/ { d2 R
}
7 ?& Y! }, m/ J* U/ l
}
% o- o7 {% O: {3 _* A
document.getelementbyid(seekable).innerhtml=str;
' }" N$ Y J! u. i4 {9 o l$ h* o
}
4 L. I3 t: D+ G( Y- G
// played
& O8 v6 F4 x/ y
function updateplayed(){
0 r) s1 F; s1 U E. H
var ranges=audio.played;
' r: j4 v. H K+ Z) }
var str=;
( T$ s4 q. U! {8 s c2 B
var n=ranges.length;
1 w4 U/ |, u4 |
for(var i=0;i<n;i++){
6 o% T+ T! d# n3 M
str+=(+ranges.start(i)+,+ranges.end(i)+);
! h1 t3 n. j! i5 U9 S
if(i!=n-1){
" D H+ ~2 x) b% ?* j+ Q7 [3 k
str+=
% H3 ]+ T" A% z
;
7 t# w5 I0 Q5 X$ N! j, o5 |
}
" E9 y! |2 l# Q4 ?
}
. c) A0 N7 |7 p1 i( f
document.getelementbyid(played).innerhtml=str;
# K' G) y* R `( {7 w R. Z
}
* K! X- R. ^( a7 S. f6 V0 R
// error
; i4 @. N3 Q8 O% O# P& P
function updateerror(){
# ^3 b3 ^% f$ M
document.getelementbyid(error).innerhtml=audio.error;
0 D+ ` T6 Y) |, t
}
; y6 d$ h$ f; l$ D P
- M2 {8 P ]! C1 P
更多网页制作信息请查看: 网页制作
作者:
gevaemaidovef
时间:
2015-11-4 20:27
命不能争,运可以造,弱者认命,强者抗命,能者求命,智者造命。
作者:
seazvyt
时间:
2015-11-4 20:27
哎 怎么说那~~
作者:
alapScady
时间:
2015-11-4 20:28
来电来函..欢迎洽购...
作者:
gevaemaidovef
时间:
2015-11-4 20:28
疯了.........
作者:
effoggikeftor
时间:
2016-2-28 22:44
说嘛1~~~想说什么就说什么嘛~~
作者:
wwzcdenleclv
时间:
2016-2-28 22:45
真的 好久都没有这么笑了~ 好开心哦
作者:
gevaemaidovef
时间:
2016-2-28 22:45
今天统计好像出了问题
作者:
GoodyFouppy
时间:
2016-2-28 22:45
因删贴不及时所产生的任何法律(书法,基本法,劳动法,婚姻法,输入法,国际法,今日说法,与台湾关系法及文中涉及或可能涉及以及未及之法,各地治安管理条例)纠纷或责任本人概不负责。
欢迎光临 得知互动 (https://bbs.dezhifl.com/)
Powered by Discuz! X5.0