mirror of
https://github.com/DanielnetoDotCom/YouPHPTube
synced 2025-10-05 19:42:38 +02:00
Audio Playback imporved
This commit is contained in:
parent
0f9f1ac070
commit
3e7968a889
25 changed files with 4977 additions and 32146 deletions
BIN
view/img/audio_wave.jpg
Normal file
BIN
view/img/audio_wave.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 331 KiB |
BIN
view/img/audio_wave.psd
Normal file
BIN
view/img/audio_wave.psd
Normal file
Binary file not shown.
|
@ -1,8 +1,9 @@
|
|||
<script src="<?php echo $global['webSiteRootURL']; ?>/js/videojs-wavesurfer/wavesurfer.min.js"></script>
|
||||
<script src="<?php echo $global['webSiteRootURL']; ?>/js/videojs-wavesurfer/videojs.wavesurfer.js"></script>
|
||||
<div class="row main-video" style="padding: 10px;">
|
||||
<div class="col-xs-12 col-sm-12 col-lg-2"></div>
|
||||
<div class="col-xs-12 col-sm-12 col-lg-8 ">
|
||||
<audio controls class="center-block video-js vjs-default-skin " id="mainAudio" autoplay data-setup='{}'
|
||||
poster="<?php echo $global['webSiteRootURL']; ?>img/recorder.gif">
|
||||
<audio controls class="center-block video-js vjs-default-skin " id="mainAudio" autoplay >
|
||||
<source src="<?php echo $global['webSiteRootURL']; ?>videos/<?php echo $video['filename']; ?>.ogg" type="audio/ogg" />
|
||||
<source src="<?php echo $global['webSiteRootURL']; ?>videos/<?php echo $video['filename']; ?>.mp3" type="audio/mpeg" />
|
||||
<a href="<?php echo $global['webSiteRootURL']; ?>videos/<?php echo $video['filename']; ?>.mp3">horse</a>
|
||||
|
@ -11,3 +12,25 @@
|
|||
|
||||
<div class="col-xs-12 col-sm-12 col-lg-2"></div>
|
||||
</div><!--/row-->
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
var player = videojs('mainAudio', {
|
||||
controls: true,
|
||||
autoplay: true,
|
||||
loop: false,
|
||||
width: 400,
|
||||
height: 225,
|
||||
plugins: {
|
||||
wavesurfer: {
|
||||
src: '<?php echo $global['webSiteRootURL']; ?>videos/<?php echo $video['filename']; ?>.mp3',
|
||||
msDisplayMax: 10,
|
||||
debug: true,
|
||||
waveColor: 'white',
|
||||
progressColor: 'gray',
|
||||
cursorColor: '#C00',
|
||||
hideScrollbar: true
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
|
@ -39,6 +39,6 @@ if (!empty($_GET['error'])) {
|
|||
<script src="<?php echo $global['webSiteRootURL']; ?>bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
|
||||
<script src="<?php echo $global['webSiteRootURL']; ?>js/seetalert/sweetalert.min.js" type="text/javascript"></script>
|
||||
<script src="<?php echo $global['webSiteRootURL']; ?>js/bootpag/jquery.bootpag.min.js" type="text/javascript"></script>
|
||||
<script src="<?php echo $global['webSiteRootURL']; ?>js/bootgrid/jquery.bootgrid.min.js" type="text/javascript"></script>
|
||||
<script src="<?php echo $global['webSiteRootURL']; ?>js/bootgrid/jquery.bootgrid.js" type="text/javascript"></script>
|
||||
<script src="<?php echo $global['webSiteRootURL']; ?>bootstrap/bootstrapSelectPicker/js/bootstrap-select.min.js" type="text/javascript"></script>
|
||||
<script src="<?php echo $global['webSiteRootURL']; ?>js/script.js" type="text/javascript"></script>
|
|
@ -1910,7 +1910,7 @@
|
|||
return result;
|
||||
};
|
||||
}
|
||||
|
||||
/* if is conflicted with wavesurfer video.js
|
||||
if (!Array.prototype.first)
|
||||
{
|
||||
Array.prototype.first = function (condition)
|
||||
|
@ -1984,7 +1984,7 @@
|
|||
return result;
|
||||
};
|
||||
}
|
||||
|
||||
*/
|
||||
// GRID PLUGIN DEFINITION
|
||||
// =====================
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
1
view/js/video.js/alt/video-js-cdn.min.css
vendored
1
view/js/video.js/alt/video-js-cdn.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
15
view/js/video.js/alt/video.novtt.min.js
vendored
15
view/js/video.js/alt/video.novtt.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1,330 +0,0 @@
|
|||
WEBVTT
|
||||
|
||||
1
|
||||
00:00:15.042 --> 00:00:18.625
|
||||
...إلى... إلى الشمال يمكن أن نرى
|
||||
...يمكن أن نرى الـ
|
||||
|
||||
2
|
||||
00:00:18.750 --> 00:00:20.958
|
||||
...إلى اليمين يمكن أن نرى الـ
|
||||
|
||||
3
|
||||
00:00:21.000 --> 00:00:23.125
|
||||
طاحنات الرؤوس...
|
||||
|
||||
4
|
||||
00:00:23.208 --> 00:00:25.208
|
||||
كل شيئ آمن
|
||||
آمن كلية
|
||||
|
||||
5
|
||||
00:00:26.333 --> 00:00:28.333
|
||||
إيمو ؟
|
||||
|
||||
6
|
||||
00:00:28.875 --> 00:00:30.958
|
||||
! حذاري
|
||||
|
||||
7
|
||||
00:00:47.125 --> 00:00:49.167
|
||||
هل أصبت ؟
|
||||
|
||||
8
|
||||
00:00:52.125 --> 00:00:54.833
|
||||
...لا أظن ذلك
|
||||
وأنت ؟
|
||||
|
||||
9
|
||||
00:00:55.625 --> 00:00:57.625
|
||||
أنا بخير
|
||||
|
||||
10
|
||||
00:00:57.667 --> 00:01:01.667
|
||||
،قم يا إيمو
|
||||
المكان هنا غير آمن
|
||||
|
||||
11
|
||||
00:01:02.208 --> 00:01:04.083
|
||||
لنذهب
|
||||
|
||||
12
|
||||
00:01:04.167 --> 00:01:06.167
|
||||
وماذا بعد ؟
|
||||
|
||||
13
|
||||
00:01:06.167 --> 00:01:08.583
|
||||
...سترى... سترى
|
||||
|
||||
14
|
||||
00:01:16.167 --> 00:01:18.375
|
||||
إيمو، من هنا
|
||||
|
||||
15
|
||||
00:01:34.958 --> 00:01:37.000
|
||||
! إتبعني
|
||||
|
||||
16
|
||||
00:02:11.125 --> 00:02:13.625
|
||||
! أسرع يا إيمو
|
||||
|
||||
17
|
||||
00:02:48.375 --> 00:02:50.375
|
||||
! لست منتبها
|
||||
|
||||
18
|
||||
00:02:50.750 --> 00:02:54.500
|
||||
...أريد فقط أن أجيب الـ
|
||||
الهاتف...
|
||||
|
||||
19
|
||||
00:02:55.000 --> 00:02:58.500
|
||||
،إيمو، أنظر
|
||||
أقصد أنصت
|
||||
|
||||
20
|
||||
00:02:59.750 --> 00:03:03.292
|
||||
عليك أن تتعلم الإصغاء
|
||||
|
||||
21
|
||||
00:03:03.625 --> 00:03:05.917
|
||||
هذا ليس ضربا من اللهو
|
||||
|
||||
22
|
||||
00:03:06.083 --> 00:03:09.958
|
||||
...إنك
|
||||
أقصد إننا قد نموت بسهولة في هذا المكان
|
||||
|
||||
23
|
||||
00:03:10.208 --> 00:03:14.125
|
||||
...أنصت
|
||||
أنصت إلى أصوات الآلة
|
||||
|
||||
24
|
||||
00:03:18.333 --> 00:03:20.417
|
||||
أنصت إلى نَفَسِك
|
||||
|
||||
25
|
||||
00:04:27.208 --> 00:04:29.250
|
||||
ألا تمل أبدا من هذا ؟
|
||||
|
||||
26
|
||||
00:04:29.583 --> 00:04:31.583
|
||||
أمل ؟!؟
|
||||
نعم -
|
||||
|
||||
27
|
||||
00:04:31.750 --> 00:04:34.667
|
||||
إيمو؛ الآلة في دقتها... مثل الساعة
|
||||
|
||||
28
|
||||
00:04:35.500 --> 00:04:37.708
|
||||
...حركة ناشزة واحدة قد
|
||||
|
||||
29
|
||||
00:04:37.833 --> 00:04:39.875
|
||||
تطرحك معجونا
|
||||
|
||||
30
|
||||
00:04:41.042 --> 00:04:43.083
|
||||
...أو ليست
|
||||
|
||||
31
|
||||
00:04:43.125 --> 00:04:46.542
|
||||
! عجينة يا إيمو
|
||||
أ هذا ما تريد ؟ أن تصبح عجينة ؟
|
||||
|
||||
32
|
||||
00:04:48.083 --> 00:04:50.083
|
||||
أيمو، أ هذا هدفك في الحياة ؟
|
||||
|
||||
33
|
||||
00:04:50.583 --> 00:04:52.667
|
||||
أن تصير عجينة ؟
|
||||
|
||||
34
|
||||
00:05:41.833 --> 00:05:43.875
|
||||
إيمو، أغمض عينيك
|
||||
|
||||
35
|
||||
00:05:44.917 --> 00:05:47.000
|
||||
لماذا ؟
|
||||
! الآن -
|
||||
|
||||
36
|
||||
00:05:53.750 --> 00:05:56.042
|
||||
حسن
|
||||
|
||||
37
|
||||
00:05:59.542 --> 00:06:02.792
|
||||
ماذا ترى إلى شمالك يا إيمو ؟
|
||||
|
||||
38
|
||||
00:06:04.417 --> 00:06:06.500
|
||||
لا شيئ
|
||||
حقا ؟ -
|
||||
|
||||
39
|
||||
00:06:06.542 --> 00:06:08.625
|
||||
لا، لا شيئ البتة
|
||||
|
||||
40
|
||||
00:06:08.625 --> 00:06:12.417
|
||||
وماذا ترى إلى جهتك اليمنى يا إيمو ؟
|
||||
|
||||
41
|
||||
00:06:13.667 --> 00:06:17.833
|
||||
،نفس الشيئ يا بروغ
|
||||
! نفس الشيئ بالضبط؛ لا شيئ
|
||||
|
||||
42
|
||||
00:06:17.875 --> 00:06:19.917
|
||||
عظيم
|
||||
|
||||
43
|
||||
00:06:40.625 --> 00:06:42.958
|
||||
أنصت يا بروغ ! هل تسمع ذلك ؟
|
||||
|
||||
44
|
||||
00:06:43.625 --> 00:06:45.625
|
||||
هل نستطيع الذهاب إلى هناك ؟
|
||||
|
||||
45
|
||||
00:06:45.708 --> 00:06:47.792
|
||||
هناك ؟
|
||||
نعم -
|
||||
|
||||
46
|
||||
00:06:47.833 --> 00:06:49.833
|
||||
إنه غير آمن يا إيمو
|
||||
|
||||
47
|
||||
00:06:49.917 --> 00:06:52.500
|
||||
صدقني، إنه غير آمن
|
||||
|
||||
48
|
||||
00:06:53.292 --> 00:06:55.375
|
||||
...لكن لعلي أستطيع
|
||||
|
||||
49
|
||||
00:06:55.417 --> 00:06:57.417
|
||||
...لكن
|
||||
! لا -
|
||||
|
||||
50
|
||||
00:06:57.667 --> 00:06:59.667
|
||||
! لا
|
||||
|
||||
51
|
||||
00:07:00.875 --> 00:07:03.750
|
||||
هل من أسئلة أخرى يا إيمو ؟
|
||||
|
||||
52
|
||||
00:07:04.250 --> 00:07:06.333
|
||||
لا
|
||||
|
||||
53
|
||||
00:07:09.458 --> 00:07:11.542
|
||||
...إيمو
|
||||
نعم -
|
||||
|
||||
54
|
||||
00:07:11.875 --> 00:07:13.958
|
||||
...لماذا يا إيمو... لماذا
|
||||
|
||||
55
|
||||
00:07:15.292 --> 00:07:18.792
|
||||
لماذا لا تستطيع أن ترى حُسْن هذا المكان
|
||||
|
||||
56
|
||||
00:07:18.833 --> 00:07:20.833
|
||||
...والطريقة التي يعمل بها
|
||||
|
||||
57
|
||||
00:07:20.875 --> 00:07:24.000
|
||||
وكيف... وكيف أنه غاية في الكمال
|
||||
|
||||
58
|
||||
00:07:24.083 --> 00:07:27.417
|
||||
! لا يا بروغ، لا أرى ذلك
|
||||
|
||||
59
|
||||
00:07:27.542 --> 00:07:30.333
|
||||
لا أرى ذلك لأنه لا يوجد شيئ هناك
|
||||
|
||||
60
|
||||
00:07:31.500 --> 00:07:35.333
|
||||
ثم لماذا يجب علي أن أسلم حياتي
|
||||
لشيئ لا وجود له ؟
|
||||
|
||||
61
|
||||
00:07:35.583 --> 00:07:37.625
|
||||
هل يمكنك أن تخبرني ؟
|
||||
|
||||
62
|
||||
00:07:37.708 --> 00:07:39.750
|
||||
! أجبني
|
||||
|
||||
63
|
||||
00:07:43.208 --> 00:07:47.333
|
||||
...بروغ
|
||||
! أنت معتوه يا هذا
|
||||
|
||||
64
|
||||
00:07:47.375 --> 00:07:49.417
|
||||
! إبعد عني
|
||||
|
||||
65
|
||||
00:07:52.583 --> 00:07:55.083
|
||||
! لا يا إيمو ! إنه فخ
|
||||
|
||||
66
|
||||
00:07:55.833 --> 00:07:57.875
|
||||
...إنه فخ
|
||||
|
||||
67
|
||||
00:07:57.917 --> 00:08:01.750
|
||||
إلى جنبك الأيسر يمكنك أن ترى
|
||||
حدائق بابل المعلقة
|
||||
|
||||
68
|
||||
00:08:02.250 --> 00:08:04.292
|
||||
هل تعجبك كفخ ؟
|
||||
|
||||
69
|
||||
00:08:05.458 --> 00:08:07.542
|
||||
لا يا أيمو
|
||||
|
||||
70
|
||||
00:08:09.417 --> 00:08:12.792
|
||||
...إلى جنبك الأيمن يمكنك رؤية
|
||||
حزر ماذا ؟
|
||||
|
||||
71
|
||||
00:08:13.000 --> 00:08:15.042
|
||||
! عملاق رودس
|
||||
|
||||
72
|
||||
00:08:15.125 --> 00:08:16.417
|
||||
! لا
|
||||
|
||||
73
|
||||
00:08:16.458 --> 00:08:20.500
|
||||
،عملاق رودس
|
||||
وهو هنا خصيصا من أجلك يا بروغ
|
||||
|
||||
74
|
||||
00:08:20.583 --> 00:08:22.583
|
||||
فقط من أجلك
|
||||
|
||||
75
|
||||
00:08:51.333 --> 00:08:53.375
|
||||
إنه هناك
|
||||
|
||||
76
|
||||
00:08:53.417 --> 00:08:55.500
|
||||
أنا أؤكد لك... إيمو
|
||||
|
||||
77
|
||||
00:08:57.333 --> 00:09:00.000
|
||||
...إنه
|
|
@ -1,334 +0,0 @@
|
|||
WEBVTT
|
||||
|
||||
1
|
||||
00:00:15.000 --> 00:00:17.951
|
||||
At the left we can see...
|
||||
|
||||
2
|
||||
00:00:18.166 --> 00:00:20.083
|
||||
At the right we can see the...
|
||||
|
||||
3
|
||||
00:00:20.119 --> 00:00:21.962
|
||||
...the head-snarlers
|
||||
|
||||
4
|
||||
00:00:21.999 --> 00:00:24.368
|
||||
Everything is safe.
|
||||
Perfectly safe.
|
||||
|
||||
5
|
||||
00:00:24.582 --> 00:00:27.035
|
||||
Emo?
|
||||
|
||||
6
|
||||
00:00:28.206 --> 00:00:29.996
|
||||
Watch out!
|
||||
|
||||
7
|
||||
00:00:47.037 --> 00:00:48.494
|
||||
Are you hurt?
|
||||
|
||||
8
|
||||
00:00:51.994 --> 00:00:53.949
|
||||
I don't think so.
|
||||
You?
|
||||
|
||||
9
|
||||
00:00:55.160 --> 00:00:56.985
|
||||
I'm Ok.
|
||||
|
||||
10
|
||||
00:00:57.118 --> 00:01:01.111
|
||||
Get up.
|
||||
Emo. it's not safe here.
|
||||
|
||||
11
|
||||
00:01:02.034 --> 00:01:03.573
|
||||
Let's go.
|
||||
|
||||
12
|
||||
00:01:03.610 --> 00:01:05.114
|
||||
What's next?
|
||||
|
||||
13
|
||||
00:01:05.200 --> 00:01:09.146
|
||||
You'll see!
|
||||
|
||||
14
|
||||
00:01:16.032 --> 00:01:18.022
|
||||
Emo.
|
||||
This way.
|
||||
|
||||
15
|
||||
00:01:34.237 --> 00:01:35.481
|
||||
Follow me!
|
||||
|
||||
16
|
||||
00:02:11.106 --> 00:02:12.480
|
||||
Hurry Emo!
|
||||
|
||||
17
|
||||
00:02:48.059 --> 00:02:49.930
|
||||
You're not paying attention!
|
||||
|
||||
18
|
||||
00:02:50.142 --> 00:02:54.052
|
||||
I just want to answer the...
|
||||
...phone.
|
||||
|
||||
19
|
||||
00:02:54.974 --> 00:02:57.972
|
||||
Emo. look.
|
||||
I mean listen.
|
||||
|
||||
20
|
||||
00:02:59.140 --> 00:03:02.008
|
||||
You have to learn to listen.
|
||||
|
||||
21
|
||||
00:03:03.140 --> 00:03:04.965
|
||||
This is not some game.
|
||||
|
||||
22
|
||||
00:03:05.056 --> 00:03:09.345
|
||||
You. I mean we.
|
||||
we could easily die out here.
|
||||
|
||||
23
|
||||
00:03:10.014 --> 00:03:13.959
|
||||
Listen.
|
||||
listen to the sounds of the machine.
|
||||
|
||||
24
|
||||
00:03:18.054 --> 00:03:20.009
|
||||
Listen to your breathing.
|
||||
|
||||
25
|
||||
00:04:27.001 --> 00:04:28.956
|
||||
Well. don't you ever get tired of this?
|
||||
|
||||
26
|
||||
00:04:29.084 --> 00:04:30.909
|
||||
Tired?!?
|
||||
|
||||
27
|
||||
00:04:31.126 --> 00:04:34.491
|
||||
Emo. the machine is like clockwork.
|
||||
|
||||
28
|
||||
00:04:35.083 --> 00:04:37.074
|
||||
One move out of place...
|
||||
|
||||
29
|
||||
00:04:37.166 --> 00:04:39.121
|
||||
...and you're ground to a pulp.
|
||||
|
||||
30
|
||||
00:04:40.958 --> 00:04:42.004
|
||||
But isn't it -
|
||||
|
||||
31
|
||||
00:04:42.041 --> 00:04:46.034
|
||||
Pulp. Emo!
|
||||
Is that what you want. pulp?
|
||||
|
||||
32
|
||||
00:04:47.040 --> 00:04:48.995
|
||||
Emo. your goal in life...
|
||||
|
||||
33
|
||||
00:04:50.081 --> 00:04:51.953
|
||||
...pulp?
|
||||
|
||||
34
|
||||
00:05:41.156 --> 00:05:43.028
|
||||
Emo. close your eyes.
|
||||
|
||||
35
|
||||
00:05:44.156 --> 00:05:46.027
|
||||
Why?
|
||||
- Now!
|
||||
|
||||
36
|
||||
00:05:51.155 --> 00:05:52.102
|
||||
Ok.
|
||||
|
||||
37
|
||||
00:05:53.113 --> 00:05:54.688
|
||||
Good.
|
||||
|
||||
38
|
||||
00:05:59.070 --> 00:06:02.103
|
||||
What do you see at your left side. Emo?
|
||||
|
||||
39
|
||||
00:06:04.028 --> 00:06:05.899
|
||||
Nothing.
|
||||
- Really?
|
||||
|
||||
40
|
||||
00:06:06.027 --> 00:06:07.105
|
||||
No. nothing at all.
|
||||
|
||||
41
|
||||
00:06:07.944 --> 00:06:11.984
|
||||
And at your right.
|
||||
what do you see at your right side. Emo?
|
||||
|
||||
42
|
||||
00:06:13.151 --> 00:06:16.102
|
||||
The same Proog. exactly the same...
|
||||
|
||||
43
|
||||
00:06:16.942 --> 00:06:19.098
|
||||
...nothing!
|
||||
- Great.
|
||||
|
||||
44
|
||||
00:06:40.105 --> 00:06:42.724
|
||||
Listen Proog! Do you hear that!
|
||||
|
||||
45
|
||||
00:06:43.105 --> 00:06:44.894
|
||||
Can we go here?
|
||||
|
||||
46
|
||||
00:06:44.979 --> 00:06:47.894
|
||||
There?
|
||||
It isn't safe. Emo.
|
||||
|
||||
47
|
||||
00:06:49.145 --> 00:06:52.013
|
||||
But...
|
||||
- Trust me. it's not.
|
||||
|
||||
48
|
||||
00:06:53.020 --> 00:06:54.145
|
||||
Maybe I could...
|
||||
|
||||
49
|
||||
00:06:54.181 --> 00:06:55.969
|
||||
No.
|
||||
|
||||
50
|
||||
00:06:57.102 --> 00:06:59.934
|
||||
NO!
|
||||
|
||||
51
|
||||
00:07:00.144 --> 00:07:03.058
|
||||
Any further questions. Emo?
|
||||
|
||||
52
|
||||
00:07:03.976 --> 00:07:05.090
|
||||
No.
|
||||
|
||||
53
|
||||
00:07:09.059 --> 00:07:10.089
|
||||
Emo?
|
||||
|
||||
54
|
||||
00:07:11.142 --> 00:07:13.058
|
||||
Emo. why...
|
||||
|
||||
55
|
||||
00:07:13.095 --> 00:07:14.022
|
||||
Emo...
|
||||
|
||||
56
|
||||
00:07:14.058 --> 00:07:18.003
|
||||
...why can't you see
|
||||
the beauty of this place?
|
||||
|
||||
57
|
||||
00:07:18.141 --> 00:07:20.048
|
||||
The way it works.
|
||||
|
||||
58
|
||||
00:07:20.140 --> 00:07:23.895
|
||||
How perfect it is.
|
||||
|
||||
59
|
||||
00:07:23.932 --> 00:07:26.964
|
||||
No. Proog. I don't see.
|
||||
|
||||
60
|
||||
00:07:27.056 --> 00:07:29.970
|
||||
I don't see because there's nothing there.
|
||||
|
||||
61
|
||||
00:07:31.055 --> 00:07:34.965
|
||||
And why should I trust my
|
||||
life to something that isn't there?
|
||||
|
||||
62
|
||||
00:07:35.055 --> 00:07:36.926
|
||||
Well can you tell me that?
|
||||
|
||||
63
|
||||
00:07:37.054 --> 00:07:38.926
|
||||
Answer me!
|
||||
|
||||
64
|
||||
00:07:42.970 --> 00:07:44.000
|
||||
Proog...
|
||||
|
||||
65
|
||||
00:07:45.053 --> 00:07:46.985
|
||||
...you're a sick man!
|
||||
|
||||
66
|
||||
00:07:47.022 --> 00:07:48.918
|
||||
Stay away from me!
|
||||
|
||||
67
|
||||
00:07:52.052 --> 00:07:54.884
|
||||
No! Emo! It's a trap!
|
||||
|
||||
68
|
||||
00:07:55.135 --> 00:07:56.931
|
||||
Hah. it's a trap.
|
||||
|
||||
69
|
||||
00:07:56.968 --> 00:08:01.043
|
||||
At the left side you can see
|
||||
the hanging gardens of Babylon!
|
||||
|
||||
70
|
||||
00:08:01.967 --> 00:08:03.957
|
||||
How's that for a trap?
|
||||
|
||||
71
|
||||
00:08:05.050 --> 00:08:06.922
|
||||
No. Emo.
|
||||
|
||||
72
|
||||
00:08:09.008 --> 00:08:12.088
|
||||
At the right side you can see...
|
||||
...well guess what...
|
||||
|
||||
73
|
||||
00:08:12.924 --> 00:08:14.665
|
||||
...the colossus of Rhodes!
|
||||
|
||||
74
|
||||
00:08:15.132 --> 00:08:16.053
|
||||
No!
|
||||
|
||||
75
|
||||
00:08:16.090 --> 00:08:21.919
|
||||
The colossus of Rhodes
|
||||
and it is here just for you Proog.
|
||||
|
||||
76
|
||||
00:08:51.001 --> 00:08:52.923
|
||||
It is there...
|
||||
|
||||
77
|
||||
00:08:52.959 --> 00:08:56.040
|
||||
I'm telling you.
|
||||
Emo...
|
||||
|
||||
78
|
||||
00:08:57.000 --> 00:08:59.867
|
||||
...it is.
|
|
@ -1,326 +0,0 @@
|
|||
WEBVTT
|
||||
|
||||
1
|
||||
00:00:15.042 --> 00:00:18.042
|
||||
左に見えるのは…
|
||||
|
||||
2
|
||||
00:00:18.750 --> 00:00:20.333
|
||||
右に見えるのは…
|
||||
|
||||
3
|
||||
00:00:20.417 --> 00:00:21.917
|
||||
…首刈り機
|
||||
|
||||
4
|
||||
00:00:22.000 --> 00:00:24.625
|
||||
すべて安全
|
||||
完璧に安全だ
|
||||
|
||||
5
|
||||
00:00:26.333 --> 00:00:27.333
|
||||
イーモ?
|
||||
|
||||
6
|
||||
00:00:28.875 --> 00:00:30.250
|
||||
危ない!
|
||||
|
||||
7
|
||||
00:00:47.125 --> 00:00:48.250
|
||||
ケガはないか?
|
||||
|
||||
8
|
||||
00:00:51.917 --> 00:00:53.917
|
||||
ええ、多分…
|
||||
あなたは?
|
||||
|
||||
9
|
||||
00:00:55.625 --> 00:00:57.125
|
||||
わしは平気だ
|
||||
|
||||
10
|
||||
00:00:57.583 --> 00:01:01.667
|
||||
起きてくれイーモ
|
||||
ここは危ない
|
||||
|
||||
11
|
||||
00:01:02.208 --> 00:01:03.667
|
||||
行こう
|
||||
|
||||
12
|
||||
00:01:03.750 --> 00:01:04.917
|
||||
どこに?
|
||||
|
||||
13
|
||||
00:01:05.875 --> 00:01:07.875
|
||||
すぐにわかるさ!
|
||||
|
||||
14
|
||||
00:01:16.167 --> 00:01:18.375
|
||||
イーモ、こっちだ
|
||||
|
||||
15
|
||||
00:01:34.958 --> 00:01:36.958
|
||||
ついて来るんだ!
|
||||
|
||||
16
|
||||
00:02:11.583 --> 00:02:12.792
|
||||
イーモ、早く!
|
||||
|
||||
17
|
||||
00:02:48.375 --> 00:02:50.083
|
||||
むやみにさわるな!
|
||||
|
||||
18
|
||||
00:02:50.750 --> 00:02:54.500
|
||||
僕はただ、電話に
|
||||
…出ようと
|
||||
|
||||
19
|
||||
00:02:55.000 --> 00:02:58.208
|
||||
イーモ、見るんだ…
|
||||
いや、聞いてくれ
|
||||
|
||||
20
|
||||
00:02:59.750 --> 00:03:02.292
|
||||
君は「聞き方」を知る必要がある
|
||||
|
||||
21
|
||||
00:03:03.625 --> 00:03:05.125
|
||||
これは遊びじゃない
|
||||
|
||||
22
|
||||
00:03:06.167 --> 00:03:10.417
|
||||
我々はここでは
|
||||
たやすく死ぬ
|
||||
|
||||
23
|
||||
00:03:11.208 --> 00:03:14.125
|
||||
機械の声を聞くんだ
|
||||
|
||||
24
|
||||
00:03:18.333 --> 00:03:22.417
|
||||
君の息づかいを聞くんだ
|
||||
|
||||
25
|
||||
00:04:27.208 --> 00:04:29.250
|
||||
そんなことして疲れない?
|
||||
|
||||
26
|
||||
00:04:29.583 --> 00:04:31.083
|
||||
疲れる?!
|
||||
|
||||
27
|
||||
00:04:31.750 --> 00:04:34.667
|
||||
この機械は非常に正確で
|
||||
|
||||
28
|
||||
00:04:35.500 --> 00:04:37.708
|
||||
一つ間違えば…
|
||||
|
||||
29
|
||||
00:04:37.833 --> 00:04:40.792
|
||||
…地面に落ちてバラバラだ
|
||||
|
||||
30
|
||||
00:04:41.042 --> 00:04:42.375
|
||||
え、でも―
|
||||
|
||||
31
|
||||
00:04:42.417 --> 00:04:46.542
|
||||
バラバラだぞ、イーモ!
|
||||
それでいいのか?
|
||||
|
||||
32
|
||||
00:04:48.083 --> 00:04:50.000
|
||||
バラバラで死ぬんだぞ?
|
||||
|
||||
33
|
||||
00:04:50.583 --> 00:04:52.250
|
||||
バラバラだ!
|
||||
|
||||
34
|
||||
00:05:41.833 --> 00:05:43.458
|
||||
イーモ、目を閉じるんだ
|
||||
|
||||
35
|
||||
00:05:44.917 --> 00:05:46.583
|
||||
なぜ?
|
||||
―早く!
|
||||
|
||||
36
|
||||
00:05:53.750 --> 00:05:56.042
|
||||
それでいい
|
||||
|
||||
37
|
||||
00:05:59.542 --> 00:06:03.792
|
||||
左に見えるものは何だ、イーモ?
|
||||
|
||||
38
|
||||
00:06:04.417 --> 00:06:06.000
|
||||
え…何も
|
||||
―本当か?
|
||||
|
||||
39
|
||||
00:06:06.333 --> 00:06:07.917
|
||||
全く何も
|
||||
|
||||
40
|
||||
00:06:08.042 --> 00:06:12.833
|
||||
では右は
|
||||
何か見えるか、イーモ?
|
||||
|
||||
41
|
||||
00:06:13.875 --> 00:06:16.917
|
||||
同じだよプルーグ、全く同じ…
|
||||
|
||||
42
|
||||
00:06:17.083 --> 00:06:18.583
|
||||
何もない!
|
||||
|
||||
43
|
||||
00:06:40.625 --> 00:06:43.208
|
||||
プルーグ!何か聞こえない?
|
||||
|
||||
44
|
||||
00:06:43.625 --> 00:06:45.042
|
||||
あそこに行かないか?
|
||||
|
||||
45
|
||||
00:06:45.208 --> 00:06:48.042
|
||||
あそこ?
|
||||
…安全じゃない
|
||||
|
||||
46
|
||||
00:06:49.917 --> 00:06:52.500
|
||||
でも…
|
||||
―本当に危ないぞ
|
||||
|
||||
47
|
||||
00:06:53.292 --> 00:06:54.792
|
||||
大丈夫だよ…
|
||||
|
||||
48
|
||||
00:06:54.833 --> 00:06:56.333
|
||||
だめだ
|
||||
|
||||
49
|
||||
00:06:57.667 --> 00:07:00.167
|
||||
だめだ!
|
||||
|
||||
50
|
||||
00:07:00.875 --> 00:07:03.750
|
||||
まだ続ける気か、イーモ?
|
||||
|
||||
51
|
||||
00:07:04.250 --> 00:07:05.917
|
||||
いいえ…
|
||||
|
||||
52
|
||||
00:07:09.458 --> 00:07:10.833
|
||||
イーモ?
|
||||
|
||||
53
|
||||
00:07:11.875 --> 00:07:13.542
|
||||
イーモ、なぜ…
|
||||
|
||||
54
|
||||
00:07:13.583 --> 00:07:14.458
|
||||
イーモ…
|
||||
|
||||
55
|
||||
00:07:14.500 --> 00:07:18.500
|
||||
…なぜここの美しさが
|
||||
見えない?
|
||||
|
||||
56
|
||||
00:07:18.833 --> 00:07:20.750
|
||||
仕組みがこんなに…
|
||||
|
||||
57
|
||||
00:07:20.875 --> 00:07:24.000
|
||||
こんなに完全なのに
|
||||
|
||||
58
|
||||
00:07:24.083 --> 00:07:27.417
|
||||
もういいよ!プルーグ!
|
||||
|
||||
59
|
||||
00:07:27.542 --> 00:07:30.333
|
||||
そこには何もないんだから
|
||||
|
||||
60
|
||||
00:07:31.500 --> 00:07:35.333
|
||||
なぜ命を「ない」物に
|
||||
ゆだねなきゃ?
|
||||
|
||||
61
|
||||
00:07:35.583 --> 00:07:37.125
|
||||
教えてくれないか?
|
||||
|
||||
62
|
||||
00:07:37.500 --> 00:07:39.167
|
||||
さあ!
|
||||
|
||||
63
|
||||
00:07:43.208 --> 00:07:44.583
|
||||
プルーグ…
|
||||
|
||||
64
|
||||
00:07:45.500 --> 00:07:47.333
|
||||
あなたは病気なんだ
|
||||
|
||||
65
|
||||
00:07:47.375 --> 00:07:49.208
|
||||
僕から離れてくれ
|
||||
|
||||
66
|
||||
00:07:52.583 --> 00:07:55.083
|
||||
いかん!イーモ!ワナだ!
|
||||
|
||||
67
|
||||
00:07:55.833 --> 00:07:57.167
|
||||
ワナだ? ふーん
|
||||
|
||||
68
|
||||
00:07:57.208 --> 00:08:01.750
|
||||
左に何が見える?
|
||||
バビロンの空中庭園!
|
||||
|
||||
69
|
||||
00:08:02.250 --> 00:08:04.292
|
||||
これがワナとでも?
|
||||
|
||||
70
|
||||
00:08:05.458 --> 00:08:07.125
|
||||
だめだ、イーモ
|
||||
|
||||
71
|
||||
00:08:09.417 --> 00:08:12.792
|
||||
右にあるのは…
|
||||
…すごい!…
|
||||
|
||||
72
|
||||
00:08:13.000 --> 00:08:14.750
|
||||
…ロードス島の巨像だ!
|
||||
|
||||
73
|
||||
00:08:15.833 --> 00:08:16.708
|
||||
やめろ!
|
||||
|
||||
74
|
||||
00:08:16.750 --> 00:08:22.167
|
||||
この巨像はあなたの物
|
||||
プルーグ、あなたのだよ
|
||||
|
||||
75
|
||||
00:08:51.333 --> 00:08:53.167
|
||||
いってるじゃないか…
|
||||
|
||||
76
|
||||
00:08:53.208 --> 00:08:55.500
|
||||
そこにあるって、イーモ…
|
||||
|
||||
77
|
||||
00:08:57.333 --> 00:09:00.000
|
||||
…あるって
|
|
@ -1,356 +0,0 @@
|
|||
WEBVTT
|
||||
|
||||
1
|
||||
00:00:14.958 --> 00:00:17.833
|
||||
Слева мы видим...
|
||||
|
||||
2
|
||||
00:00:18.458 --> 00:00:20.208
|
||||
справа мы видим...
|
||||
|
||||
3
|
||||
00:00:20.333 --> 00:00:21.875
|
||||
...голово-клацов.
|
||||
|
||||
4
|
||||
00:00:22.000 --> 00:00:24.583
|
||||
всё в порядке.
|
||||
в полном порядке.
|
||||
|
||||
5
|
||||
00:00:26.333 --> 00:00:27.333
|
||||
Имо?
|
||||
|
||||
6
|
||||
00:00:28.833 --> 00:00:30.250
|
||||
Осторожно!
|
||||
|
||||
7
|
||||
00:00:47.125 --> 00:00:48.250
|
||||
Ты не ранен?
|
||||
|
||||
8
|
||||
00:00:51.875 --> 00:00:53.875
|
||||
Вроде нет...
|
||||
а ты?
|
||||
|
||||
9
|
||||
00:00:55.583 --> 00:00:57.125
|
||||
Я в порядке.
|
||||
|
||||
10
|
||||
00:00:57.542 --> 00:01:01.625
|
||||
Вставай.
|
||||
Имо. здесь не безопасно.
|
||||
|
||||
11
|
||||
00:01:02.208 --> 00:01:03.625
|
||||
Пойдём.
|
||||
|
||||
12
|
||||
00:01:03.708 --> 00:01:05.708
|
||||
Что дальше?
|
||||
|
||||
13
|
||||
00:01:05.833 --> 00:01:07.833
|
||||
Ты увидишь!
|
||||
|
||||
14
|
||||
00:01:08.000 --> 00:01:08.833
|
||||
Ты увидишь...
|
||||
|
||||
15
|
||||
00:01:16.167 --> 00:01:18.375
|
||||
Имо. сюда.
|
||||
|
||||
16
|
||||
00:01:34.917 --> 00:01:35.750
|
||||
За мной!
|
||||
|
||||
17
|
||||
00:02:11.542 --> 00:02:12.750
|
||||
Имо. быстрее!
|
||||
|
||||
18
|
||||
00:02:48.375 --> 00:02:50.083
|
||||
Ты не обращаешь внимания!
|
||||
|
||||
19
|
||||
00:02:50.708 --> 00:02:54.500
|
||||
Я только хотел ответить на ...
|
||||
...звонок.
|
||||
|
||||
20
|
||||
00:02:55.000 --> 00:02:58.208
|
||||
Имо. смотри.
|
||||
то есть слушай...
|
||||
|
||||
21
|
||||
00:02:59.708 --> 00:03:02.292
|
||||
Ты должен учиться слушать.
|
||||
|
||||
22
|
||||
00:03:03.250 --> 00:03:05.333
|
||||
Это не какая-нибудь игра.
|
||||
|
||||
23
|
||||
00:03:06.000 --> 00:03:08.833
|
||||
Ты. вернее мы. легко можем погибнуть здесь.
|
||||
|
||||
24
|
||||
00:03:10.000 --> 00:03:11.167
|
||||
Слушай...
|
||||
|
||||
25
|
||||
00:03:11.667 --> 00:03:14.125
|
||||
слушай звуки машины.
|
||||
|
||||
26
|
||||
00:03:18.333 --> 00:03:20.417
|
||||
Слушай своё дыхание.
|
||||
|
||||
27
|
||||
00:04:27.208 --> 00:04:29.250
|
||||
И не надоест тебе это?
|
||||
|
||||
28
|
||||
00:04:29.542 --> 00:04:31.083
|
||||
Надоест?!?
|
||||
|
||||
29
|
||||
00:04:31.708 --> 00:04:34.625
|
||||
Имо! Машина -
|
||||
она как часовой механизм.
|
||||
|
||||
30
|
||||
00:04:35.500 --> 00:04:37.667
|
||||
Одно движение не туда...
|
||||
|
||||
31
|
||||
00:04:37.792 --> 00:04:39.750
|
||||
...и тебя размелют в месиво!
|
||||
|
||||
32
|
||||
00:04:41.042 --> 00:04:42.375
|
||||
А разве это не -
|
||||
|
||||
33
|
||||
00:04:42.417 --> 00:04:46.500
|
||||
Месиво. Имо!
|
||||
ты этого хочешь? месиво?
|
||||
|
||||
34
|
||||
00:04:48.083 --> 00:04:50.000
|
||||
Имо. твоя цель в жизни?
|
||||
|
||||
35
|
||||
00:04:50.542 --> 00:04:52.250
|
||||
Месиво!
|
||||
|
||||
36
|
||||
00:05:41.792 --> 00:05:43.458
|
||||
Имо. закрой глаза.
|
||||
|
||||
37
|
||||
00:05:44.875 --> 00:05:46.542
|
||||
Зачем?
|
||||
- Ну же!
|
||||
|
||||
38
|
||||
00:05:51.500 --> 00:05:52.333
|
||||
Ладно.
|
||||
|
||||
39
|
||||
00:05:53.708 --> 00:05:56.042
|
||||
Хорошо.
|
||||
|
||||
40
|
||||
00:05:59.500 --> 00:06:02.750
|
||||
Что ты видишь слева от себя. Имо?
|
||||
|
||||
41
|
||||
00:06:04.417 --> 00:06:06.000
|
||||
Ничего.
|
||||
- Точно?
|
||||
|
||||
42
|
||||
00:06:06.333 --> 00:06:07.875
|
||||
да. совсем ничего.
|
||||
|
||||
43
|
||||
00:06:08.042 --> 00:06:12.708
|
||||
А справа от себя.
|
||||
что ты видишь справа от себя. Имо?
|
||||
|
||||
44
|
||||
00:06:13.833 --> 00:06:16.875
|
||||
Да то же Пруг. в точности то же...
|
||||
|
||||
45
|
||||
00:06:17.042 --> 00:06:18.500
|
||||
Ничего!
|
||||
|
||||
46
|
||||
00:06:18.667 --> 00:06:19.500
|
||||
Прекрасно...
|
||||
|
||||
47
|
||||
00:06:40.583 --> 00:06:42.917
|
||||
Прислушайся. Пруг! Ты слышишь это?
|
||||
|
||||
48
|
||||
00:06:43.583 --> 00:06:45.042
|
||||
Может. мы пойдём туда?
|
||||
|
||||
49
|
||||
00:06:45.208 --> 00:06:48.042
|
||||
Туда?
|
||||
Это не безопасно. Имо.
|
||||
|
||||
50
|
||||
00:06:49.875 --> 00:06:52.500
|
||||
Но...
|
||||
- Поверь мне. это так.
|
||||
|
||||
51
|
||||
00:06:53.292 --> 00:06:54.750
|
||||
Может я бы ...
|
||||
|
||||
52
|
||||
00:06:54.792 --> 00:06:56.333
|
||||
Нет.
|
||||
|
||||
53
|
||||
00:06:57.625 --> 00:06:59.583
|
||||
- Но...
|
||||
- НЕТ!
|
||||
|
||||
54
|
||||
00:06:59.708 --> 00:07:00.833
|
||||
Нет!
|
||||
|
||||
55
|
||||
00:07:00.833 --> 00:07:03.708
|
||||
Ещё вопросы. Имо?
|
||||
|
||||
56
|
||||
00:07:04.250 --> 00:07:05.875
|
||||
Нет.
|
||||
|
||||
57
|
||||
00:07:09.458 --> 00:07:10.792
|
||||
Имо?
|
||||
|
||||
58
|
||||
00:07:11.833 --> 00:07:13.500
|
||||
Имо. почему...
|
||||
|
||||
59
|
||||
00:07:13.542 --> 00:07:14.458
|
||||
Имо...
|
||||
|
||||
60
|
||||
00:07:14.500 --> 00:07:18.500
|
||||
...почему? почему ты не видишь
|
||||
красоты этого места?
|
||||
|
||||
61
|
||||
00:07:18.792 --> 00:07:20.708
|
||||
То как оно работает.
|
||||
|
||||
62
|
||||
00:07:20.833 --> 00:07:24.000
|
||||
Как совершенно оно.
|
||||
|
||||
63
|
||||
00:07:24.083 --> 00:07:27.417
|
||||
Нет. Пруг. я не вижу.
|
||||
|
||||
64
|
||||
00:07:27.500 --> 00:07:30.333
|
||||
Я не вижу. потому что здесь ничего нет.
|
||||
|
||||
65
|
||||
00:07:31.375 --> 00:07:35.333
|
||||
И почему я должен доверять свою жизнь
|
||||
чему-то. чего здесь нет?
|
||||
|
||||
66
|
||||
00:07:35.542 --> 00:07:37.125
|
||||
это ты мне можешь сказать?
|
||||
|
||||
67
|
||||
00:07:37.500 --> 00:07:39.167
|
||||
Ответь мне!
|
||||
|
||||
68
|
||||
00:07:43.208 --> 00:07:44.542
|
||||
Пруг...
|
||||
|
||||
69
|
||||
00:07:45.500 --> 00:07:47.333
|
||||
Ты просто больной!
|
||||
|
||||
70
|
||||
00:07:47.375 --> 00:07:48.500
|
||||
Отстань от меня.
|
||||
|
||||
71
|
||||
00:07:48.625 --> 00:07:49.917
|
||||
Имо...
|
||||
|
||||
72
|
||||
00:07:52.542 --> 00:07:55.083
|
||||
Нет! Имо! Это ловушка!
|
||||
|
||||
73
|
||||
00:07:55.792 --> 00:07:57.167
|
||||
Это ловушка!
|
||||
|
||||
74
|
||||
00:07:57.208 --> 00:08:01.708
|
||||
Слева от себя вы можете увидеть
|
||||
Висящие сады Семирамиды!
|
||||
|
||||
75
|
||||
00:08:02.250 --> 00:08:04.292
|
||||
Сойдёт за ловушку?
|
||||
|
||||
76
|
||||
00:08:05.458 --> 00:08:07.125
|
||||
Нет. Имо.
|
||||
|
||||
77
|
||||
00:08:09.417 --> 00:08:12.750
|
||||
Справа от себя вы можете увидеть...
|
||||
...угадай кого...
|
||||
|
||||
78
|
||||
00:08:13.000 --> 00:08:14.708
|
||||
...Колосса Родосского!
|
||||
|
||||
79
|
||||
00:08:15.500 --> 00:08:16.625
|
||||
Нет!
|
||||
|
||||
80
|
||||
00:08:16.667 --> 00:08:21.125
|
||||
Колосс Родосский!
|
||||
И он здесь специально для тебя. Пруг.
|
||||
|
||||
81
|
||||
00:08:21.167 --> 00:08:22.208
|
||||
Специально для тебя...
|
||||
|
||||
82
|
||||
00:08:51.333 --> 00:08:53.167
|
||||
Она здесь есть!
|
||||
|
||||
83
|
||||
00:08:53.208 --> 00:08:55.500
|
||||
Говорю тебе.
|
||||
Имо...
|
||||
|
||||
84
|
||||
00:08:57.333 --> 00:09:00.000
|
||||
...она есть... есть...
|
|
@ -1,349 +0,0 @@
|
|||
WEBVTT
|
||||
|
||||
1
|
||||
00:00:15.042 --> 00:00:18.250
|
||||
Till vänster kan vi se...
|
||||
Ser vi...
|
||||
|
||||
2
|
||||
00:00:18.708 --> 00:00:20.333
|
||||
Till höger ser vi...
|
||||
|
||||
3
|
||||
00:00:20.417 --> 00:00:21.958
|
||||
...huvudkaparna.
|
||||
|
||||
4
|
||||
00:00:22.000 --> 00:00:24.792
|
||||
Allt är säkert.
|
||||
alldeles ofarligt.
|
||||
|
||||
5
|
||||
00:00:24.917 --> 00:00:26.833
|
||||
Emo?
|
||||
|
||||
6
|
||||
00:00:28.750 --> 00:00:30.167
|
||||
Se upp!
|
||||
|
||||
7
|
||||
00:00:46.708 --> 00:00:48.750
|
||||
Är du skadad?
|
||||
|
||||
8
|
||||
00:00:51.875 --> 00:00:54.458
|
||||
Jag tror inte det...
|
||||
Är du?
|
||||
|
||||
9
|
||||
00:00:55.292 --> 00:00:57.333
|
||||
Jag är ok.
|
||||
|
||||
10
|
||||
00:00:57.542 --> 00:01:01.625
|
||||
Res dig upp Emo.
|
||||
Det är inte säkert här.
|
||||
|
||||
11
|
||||
00:01:02.208 --> 00:01:03.625
|
||||
Kom så går vi.
|
||||
|
||||
12
|
||||
00:01:03.708 --> 00:01:05.708
|
||||
Vad nu då?
|
||||
|
||||
13
|
||||
00:01:05.833 --> 00:01:07.833
|
||||
Du får se...
|
||||
|
||||
14
|
||||
00:01:08.042 --> 00:01:10.417
|
||||
Du får se.
|
||||
|
||||
15
|
||||
00:01:15.958 --> 00:01:18.375
|
||||
Emo. den här vägen.
|
||||
|
||||
16
|
||||
00:01:34.417 --> 00:01:36.750
|
||||
Följ efter mig!
|
||||
|
||||
17
|
||||
00:02:11.250 --> 00:02:13.250
|
||||
Skynda dig. Emo!
|
||||
|
||||
18
|
||||
00:02:48.375 --> 00:02:50.583
|
||||
Du är inte uppmärksam!
|
||||
|
||||
19
|
||||
00:02:50.708 --> 00:02:54.500
|
||||
Jag vill bara svara...
|
||||
... i telefonen.
|
||||
|
||||
20
|
||||
00:02:54.500 --> 00:02:58.208
|
||||
Emo. se här...
|
||||
Lyssna menar jag.
|
||||
|
||||
21
|
||||
00:02:59.708 --> 00:03:02.292
|
||||
Du måste lära dig att lyssna.
|
||||
|
||||
22
|
||||
00:03:03.292 --> 00:03:05.208
|
||||
Det här är ingen lek.
|
||||
|
||||
23
|
||||
00:03:05.250 --> 00:03:08.917
|
||||
Du... Jag menar vi.
|
||||
vi skulle kunna dö här ute.
|
||||
|
||||
24
|
||||
00:03:09.917 --> 00:03:11.417
|
||||
Lyssna...
|
||||
|
||||
25
|
||||
00:03:11.708 --> 00:03:14.833
|
||||
Lyssna på ljuden från maskinen.
|
||||
|
||||
26
|
||||
00:03:18.125 --> 00:03:21.417
|
||||
Lyssna på dina andetag.
|
||||
|
||||
27
|
||||
00:04:26.625 --> 00:04:29.250
|
||||
Tröttnar du aldrig på det här?
|
||||
|
||||
28
|
||||
00:04:29.542 --> 00:04:31.083
|
||||
Tröttnar!?
|
||||
|
||||
29
|
||||
00:04:31.208 --> 00:04:33.458
|
||||
Emo. maskinen är som...
|
||||
|
||||
30
|
||||
00:04:33.458 --> 00:04:35.333
|
||||
Som ett urverk.
|
||||
|
||||
31
|
||||
00:04:35.417 --> 00:04:37.167
|
||||
Ett felsteg...
|
||||
|
||||
32
|
||||
00:04:37.208 --> 00:04:39.750
|
||||
...och du blir krossad.
|
||||
|
||||
33
|
||||
00:04:41.042 --> 00:04:42.292
|
||||
Men är det inte -
|
||||
|
||||
34
|
||||
00:04:42.292 --> 00:04:47.000
|
||||
Krossad. Emo!
|
||||
Är det vad du vill bli? Krossad till mos?
|
||||
|
||||
35
|
||||
00:04:47.500 --> 00:04:50.542
|
||||
Emo. är det ditt mål i livet?
|
||||
|
||||
36
|
||||
00:04:50.667 --> 00:04:53.250
|
||||
Att bli mos!?
|
||||
|
||||
37
|
||||
00:05:41.375 --> 00:05:43.458
|
||||
Emo. blunda.
|
||||
|
||||
38
|
||||
00:05:44.375 --> 00:05:46.542
|
||||
Varför då?
|
||||
- Blunda!
|
||||
|
||||
39
|
||||
00:05:51.292 --> 00:05:55.042
|
||||
Ok.
|
||||
- Bra.
|
||||
|
||||
40
|
||||
00:05:59.500 --> 00:06:02.750
|
||||
Vad ser du till vänster om dig Emo?
|
||||
|
||||
41
|
||||
00:06:04.125 --> 00:06:06.292
|
||||
Ingenting.
|
||||
- Säker?
|
||||
|
||||
42
|
||||
00:06:06.333 --> 00:06:07.958
|
||||
Ingenting alls.
|
||||
|
||||
43
|
||||
00:06:08.042 --> 00:06:12.625
|
||||
Jaså. och till höger om dig...
|
||||
Vad ser du där. Emo?
|
||||
|
||||
44
|
||||
00:06:13.750 --> 00:06:15.583
|
||||
Samma där Proog...
|
||||
|
||||
45
|
||||
00:06:15.583 --> 00:06:18.083
|
||||
Exakt samma där. ingenting!
|
||||
|
||||
46
|
||||
00:06:18.083 --> 00:06:19.667
|
||||
Perfekt.
|
||||
|
||||
47
|
||||
00:06:40.500 --> 00:06:42.917
|
||||
Lyssna Proog! Hör du?
|
||||
|
||||
48
|
||||
00:06:43.500 --> 00:06:45.125
|
||||
Kan vi gå dit?
|
||||
|
||||
49
|
||||
00:06:45.208 --> 00:06:48.125
|
||||
Gå dit?
|
||||
Det är inte tryggt.
|
||||
|
||||
50
|
||||
00:06:49.583 --> 00:06:52.583
|
||||
Men. men...
|
||||
- Tro mig. det inte säkert.
|
||||
|
||||
51
|
||||
00:06:53.000 --> 00:06:54.292
|
||||
Men kanske om jag -
|
||||
|
||||
52
|
||||
00:06:54.292 --> 00:06:56.333
|
||||
Nej.
|
||||
|
||||
53
|
||||
00:06:57.208 --> 00:07:00.167
|
||||
Men -
|
||||
- Nej. NEJ!
|
||||
|
||||
54
|
||||
00:07:00.917 --> 00:07:03.792
|
||||
Några fler frågor Emo?
|
||||
|
||||
55
|
||||
00:07:04.250 --> 00:07:05.875
|
||||
Nej.
|
||||
|
||||
56
|
||||
00:07:09.542 --> 00:07:11.375
|
||||
Emo?
|
||||
- Ja?
|
||||
|
||||
57
|
||||
00:07:11.542 --> 00:07:15.667
|
||||
Emo. varför...
|
||||
|
||||
58
|
||||
00:07:15.792 --> 00:07:18.583
|
||||
Varför kan du inte se skönheten i det här?
|
||||
|
||||
59
|
||||
00:07:18.792 --> 00:07:21.708
|
||||
Hur det fungerar.
|
||||
|
||||
60
|
||||
00:07:21.833 --> 00:07:24.000
|
||||
Hur perfekt det är.
|
||||
|
||||
61
|
||||
00:07:24.083 --> 00:07:27.333
|
||||
Nej Proog. jag kan inte se det.
|
||||
|
||||
62
|
||||
00:07:27.333 --> 00:07:30.333
|
||||
Jag ser det inte. för det finns inget där.
|
||||
|
||||
63
|
||||
00:07:31.292 --> 00:07:35.333
|
||||
Och varför skulle jag lägga mitt liv
|
||||
i händerna på något som inte finns?
|
||||
|
||||
64
|
||||
00:07:35.333 --> 00:07:37.083
|
||||
Kan du berätta det för mig?
|
||||
- Emo...
|
||||
|
||||
65
|
||||
00:07:37.083 --> 00:07:39.167
|
||||
Svara mig!
|
||||
|
||||
66
|
||||
00:07:43.500 --> 00:07:45.208
|
||||
Proog...
|
||||
|
||||
67
|
||||
00:07:45.208 --> 00:07:47.083
|
||||
Du är inte frisk!
|
||||
|
||||
68
|
||||
00:07:47.167 --> 00:07:49.292
|
||||
Håll dig borta från mig!
|
||||
|
||||
69
|
||||
00:07:52.292 --> 00:07:55.083
|
||||
Nej! Emo!
|
||||
Det är en fälla!
|
||||
|
||||
70
|
||||
00:07:55.375 --> 00:07:57.208
|
||||
Heh. det är en fälla.
|
||||
|
||||
71
|
||||
00:07:57.208 --> 00:08:01.708
|
||||
På vänster sida ser vi...
|
||||
Babylons hängande trädgårdar!
|
||||
|
||||
72
|
||||
00:08:01.958 --> 00:08:04.000
|
||||
Vad sägs om den fällan?
|
||||
|
||||
73
|
||||
00:08:05.458 --> 00:08:07.333
|
||||
Nej. Emo.
|
||||
|
||||
74
|
||||
00:08:08.917 --> 00:08:12.667
|
||||
Till höger ser vi...
|
||||
Gissa!
|
||||
|
||||
75
|
||||
00:08:12.750 --> 00:08:15.125
|
||||
Rhodos koloss!
|
||||
|
||||
76
|
||||
00:08:15.375 --> 00:08:16.500
|
||||
Nej!
|
||||
|
||||
77
|
||||
00:08:16.500 --> 00:08:20.250
|
||||
Kolossen på Rhodos!
|
||||
Och den är här för din skull. Proog...
|
||||
|
||||
78
|
||||
00:08:20.250 --> 00:08:23.250
|
||||
Bara för din skull.
|
||||
|
||||
79
|
||||
00:08:50.917 --> 00:08:53.250
|
||||
Den är där...
|
||||
|
||||
80
|
||||
00:08:53.625 --> 00:08:56.417
|
||||
Tro mig.
|
||||
Emo...
|
||||
|
||||
81
|
||||
00:08:57.000 --> 00:09:00.000
|
||||
Det är den.
|
||||
Det är den...
|
|
@ -1,44 +0,0 @@
|
|||
WEBVTT
|
||||
|
||||
NOTE Created by Owen Edwards 2015. http://creativecommons.org/licenses/by/2.5/
|
||||
NOTE Based on 'finalbreakdown.rtf', part of the prepoduction notes, which are:
|
||||
NOTE (c) Copyright 2006, Blender Foundation /
|
||||
NOTE Netherlands Media Art Institute /
|
||||
NOTE www.elephantsdream.org
|
||||
|
||||
1
|
||||
00:00:00.000 --> 00:00:27.500
|
||||
Prologue
|
||||
|
||||
2
|
||||
00:00:27.500 --> 00:01:10.000
|
||||
Switchboard trap
|
||||
|
||||
3
|
||||
00:01:10.000 --> 00:03:25.000
|
||||
Telephone/Lecture
|
||||
|
||||
4
|
||||
00:03:25.000 --> 00:04:52.000
|
||||
Typewriter
|
||||
|
||||
5
|
||||
00:04:52.000 --> 00:06:19.500
|
||||
Proog shows Emo stuff
|
||||
|
||||
6
|
||||
00:06:19.500 --> 00:07:09.000
|
||||
Which way
|
||||
|
||||
7
|
||||
00:07:09.000 --> 00:07:45.000
|
||||
Emo flips out
|
||||
|
||||
8
|
||||
00:07:45.000 --> 00:09:25.000
|
||||
Emo creates
|
||||
|
||||
9
|
||||
00:09:25.000 --> 00:10:53.000
|
||||
Closing credits
|
||||
|
|
@ -1,280 +0,0 @@
|
|||
WEBVTT
|
||||
License: CC BY 4.0 http://creativecommons.org/licenses/by/4.0/
|
||||
Author: Silvia Pfeiffer
|
||||
|
||||
1
|
||||
00:00:00.000 --> 00:00:05.000
|
||||
The orange open movie project presents
|
||||
|
||||
2
|
||||
00:00:05.010 --> 00:00:12.000
|
||||
Introductory titles are showing on the background of a water pool with fishes swimming and mechanical objects lying on a stone floor.
|
||||
|
||||
3
|
||||
00:00:12.010 --> 00:00:14.800
|
||||
elephants dream
|
||||
|
||||
4
|
||||
00:00:26.100 --> 00:00:28.206
|
||||
Two people stand on a small bridge.
|
||||
|
||||
5
|
||||
00:00:30.010 --> 00:00:40.000
|
||||
The old man, Proog, shoves the younger and less experienced Emo on the ground to save him from being mowed down by a barrage of jack plugs that whir back and forth between the two massive switch-board-like walls.
|
||||
|
||||
6
|
||||
00:00:40.000 --> 00:00:47.000
|
||||
The plugs are oblivious of the two, endlessly channeling streams of bizarre sounds and data.
|
||||
|
||||
7
|
||||
00:00:48.494 --> 00:00:51.994
|
||||
Emo sits on the bridge and checks his limbs.
|
||||
|
||||
8
|
||||
00:01:09.150 --> 00:01:16.030
|
||||
After the squealing plugs move on, Proog makes sure that Emo is unharmed and urges him onwards through a crack in one of the plug-walls.
|
||||
|
||||
9
|
||||
00:01:18.050 --> 00:01:24.000
|
||||
They walk through the narrow hall into a massive room that fades away into blackness on all sides.
|
||||
|
||||
10
|
||||
00:01:24.050 --> 00:01:34.200
|
||||
Only one path is visible, suspended in mid-air that runs between thousands of dangling electric cables on which sit crowds of robin-like robotic birds.
|
||||
|
||||
11
|
||||
00:01:36.000 --> 00:01:40.000
|
||||
As Proog and Emo enter the room, the birds begin to wake up and notice them.
|
||||
|
||||
12
|
||||
00:01:42.000 --> 00:01:50.000
|
||||
Realizing the danger, Proog grabs Emo by the arm.
|
||||
|
||||
13
|
||||
00:01:50.050 --> 00:02:00.000
|
||||
They run along the increasingly bizarre path as the birds begin to swarm.
|
||||
|
||||
14
|
||||
00:02:00.050 --> 00:02:11.000
|
||||
All sound is blocked out by the birds which are making the same noises as the jack-plugs, garbled screaming and obscure sentences and static.
|
||||
|
||||
15
|
||||
00:02:12.600 --> 00:02:17.000
|
||||
The path dead-ends, stopping in the middle of no-where above the infinite drop.
|
||||
|
||||
16
|
||||
00:02:17.600 --> 00:02:22.000
|
||||
Proog turns around as the birds reach them and begin to dive-bomb at them.
|
||||
|
||||
17
|
||||
00:02:22.600 --> 00:02:28.000
|
||||
At the last moment, Proog takes out an old candlestick phone and the birds dive into the speaker piece.
|
||||
|
||||
18
|
||||
00:02:28.600 --> 00:02:31.000
|
||||
The screen cuts to black.
|
||||
|
||||
19
|
||||
00:02:31.600 --> 00:02:38.000
|
||||
In the next scene, Proog stands at one end of a room, suspiciously watching what is probably the same candlestick phone, which is ringing.
|
||||
|
||||
20
|
||||
00:02:38.500 --> 00:02:41.000
|
||||
Emo watches from the other side of the room.
|
||||
|
||||
21
|
||||
00:02:41.500 --> 00:02:43.000
|
||||
The phone continues to ring.
|
||||
|
||||
22
|
||||
00:02:43.500 --> 00:02:48.000
|
||||
After a while Emo approaches it to answer it, but Proog slaps his hand away.
|
||||
|
||||
23
|
||||
00:02:57.972 --> 00:02:59.100
|
||||
Proog takes the ear-piece off the hook.
|
||||
|
||||
24
|
||||
00:03:13.500 --> 00:03:18.054
|
||||
The phone speaker revealed a mass of clawed, fleshy polyps which scream and gibber obscenely.
|
||||
|
||||
25
|
||||
00:03:25.000 --> 00:03:33.000
|
||||
There is a solemn silence as Emo looks around the room and the technical objects therein.
|
||||
|
||||
26
|
||||
00:03:38.000 --> 00:03:44.000
|
||||
Emo laughs disbelievingly and Proog walks away.
|
||||
|
||||
27
|
||||
00:03:46.000 --> 00:03:54.000
|
||||
In the next scene, the two enter another massive black room.
|
||||
|
||||
28
|
||||
00:03:54.500 --> 00:04:04.000
|
||||
There is no path, the entry platform is the only structure that seems to be there except for another exit, lit distantly at the far side.
|
||||
|
||||
29
|
||||
00:04:04.500 --> 00:04:14.000
|
||||
Proog takes a step forward into the void, and his feet are suddenly caught by giant typewriter arms that rocket up out of the blackness to catch his feet as he dances across mid-air.
|
||||
|
||||
30
|
||||
00:04:14.500 --> 00:04:22.000
|
||||
Emo follows Proog with somewhat less enthusiasm as the older man leads the way.
|
||||
|
||||
31
|
||||
00:04:52.000 --> 00:04:58.000
|
||||
They reach the end of the room and go through a hall into a small compartment.
|
||||
|
||||
32
|
||||
00:05:02.000 --> 00:05:06.000
|
||||
Proog presses a button, and the door shuts.
|
||||
|
||||
33
|
||||
00:05:06.500 --> 00:05:09.000
|
||||
It is an elevator.
|
||||
|
||||
34
|
||||
00:05:09.500 --> 00:05:24.000
|
||||
The elevator lurches suddenly as it is grabbed by a giant mechanical arm and thrown upwards, rushing up through an ever-widening tunnel.
|
||||
|
||||
35
|
||||
00:05:26.500 --> 00:05:32.000
|
||||
When it begins to slow down, another arm grabs the capsule and throws it even further up.
|
||||
|
||||
36
|
||||
00:05:32.500 --> 00:05:40.000
|
||||
As it moves up, the walls unlock and fall away, leaving only the floor with the two on it, rushing higher and higher.
|
||||
|
||||
37
|
||||
00:05:54.500 --> 00:05:59.000
|
||||
They exit the tunnel into a black sky and the platform reaches the peak of its arc.
|
||||
|
||||
38
|
||||
00:06:19.500 --> 00:06:26.000
|
||||
The elevator begins to drop down another shaft, coming to rest as it slams into the floor of another room and bringing the two to a level stop.
|
||||
|
||||
39
|
||||
00:06:26.500 --> 00:06:28.000
|
||||
A camera flashes.
|
||||
|
||||
40
|
||||
00:06:28.010 --> 00:06:34.000
|
||||
They are in a large, dingy room filled with strange, generator-like devices and dotted with boxy holographic projectors.
|
||||
|
||||
41
|
||||
00:06:34.500 --> 00:06:38.000
|
||||
One of them is projecting a portion of wall with a door in it right beside them.
|
||||
|
||||
42
|
||||
00:06:38.500 --> 00:06:40.000
|
||||
The door seems harmless enough.
|
||||
|
||||
43
|
||||
00:06:42.800 --> 00:06:45.100
|
||||
From behind the door comes light music.
|
||||
|
||||
44
|
||||
00:06:56.000 --> 00:07:00.100
|
||||
Proog presses a button on his cane, which changes the holograph to another wall.
|
||||
|
||||
45
|
||||
00:07:05.100 --> 00:07:11.000
|
||||
Proog finishes the wall, and boxes them into a Safe Room, out of the view of anything outside.
|
||||
|
||||
46
|
||||
00:07:39.000 --> 00:07:42.500
|
||||
Proog slaps him, trying to bring him to his senses.
|
||||
|
||||
47
|
||||
00:07:45.000 --> 00:07:52.000
|
||||
Emo storms away down the length of the room towards a wall he apparently cannot see and the wall begins to move, extending the length of the room.
|
||||
|
||||
48
|
||||
00:08:00.000 --> 00:08:07.000
|
||||
The walls begin to discolour and mechanical roots start tearing through the walls to his left.
|
||||
|
||||
49
|
||||
00:08:07.010 --> 00:08:09.000
|
||||
The roots move forwards toward Proog.
|
||||
|
||||
50
|
||||
00:08:22.000 --> 00:08:31.000
|
||||
The rest of the safety wall crumples away as a pair of massive hands heave out of the ground and begin to attack.
|
||||
|
||||
51
|
||||
00:08:31.010 --> 00:08:37.000
|
||||
Proog is knocked down by the shockwave, while Emo turns and begins to walk away, waving his finger around his temple in the 'crazy' sign.
|
||||
|
||||
52
|
||||
00:08:37.010 --> 00:08:44.000
|
||||
In a last effort, Proog extricates himself from the tentacle roots, and cracks Emo over the back of the head with his cane.
|
||||
|
||||
53
|
||||
00:08:44.500 --> 00:08:51.000
|
||||
As Emo collapses, everything falls away, and Proog and Emo are left in one tiny patch of light in the middle of blackness.
|
||||
|
||||
54
|
||||
00:09:00.000 --> 00:09:20.000
|
||||
The scene fades to black while panning over a pile of tentacle roots lying on the ground.
|
||||
|
||||
55
|
||||
00:09:26.000 --> 00:09:28.000
|
||||
Credits begin:
|
||||
|
||||
56
|
||||
00:09:28.500 --> 00:09:35.000
|
||||
Orange Open Movie Team
|
||||
Director: Bassum Kurdali
|
||||
Art Director: Andreas Goralczyk
|
||||
|
||||
57
|
||||
00:09:35.500 --> 00:09:39.000
|
||||
Music and Sound Design: Jan Morgenstern
|
||||
|
||||
58
|
||||
00:09:39.500 --> 00:09:44.000
|
||||
Emo: Cas Jansen
|
||||
Proog: Tygo Gernandt
|
||||
|
||||
59
|
||||
00:09:44.500 --> 00:09:50.000
|
||||
Screenplay: Pepijn Zwanenberg
|
||||
Original Concept & Scenario: Andreas Goralczyk, Bassam Kurdali, Ton Roosendaal
|
||||
|
||||
60
|
||||
00:09:50.500 --> 00:10:24.000
|
||||
More people for
|
||||
Additional Artwork and Animation
|
||||
Texture Photography
|
||||
Software Development
|
||||
3D Modelling, Animation, Rendering, Compiling Software
|
||||
Special Thanks to Open Source Projects
|
||||
Rendering Services Provided
|
||||
Hardware Sponsored
|
||||
Casting
|
||||
Sound FX, Foley, Dialogue Editing, Audio Mix and Post
|
||||
Voice Recording
|
||||
HDCam conversion
|
||||
Netherlands Media Art Institute Staff
|
||||
Blender Foundation Staff
|
||||
|
||||
61
|
||||
00:10:24.500 --> 00:10:30.000
|
||||
Many Thanks to our Donation and DVD sponsors
|
||||
|
||||
62
|
||||
00:10:30.500 --> 00:10:47.000
|
||||
Elephants Dream has been realised with financial support from
|
||||
The Netherlands Film Fund
|
||||
Mondriaan Foundation
|
||||
VSBfonds
|
||||
Uni-Verse / EU Sixth Framework Programme
|
||||
|
||||
63
|
||||
00:10:47.500 --> 00:10:53.000
|
||||
Produced By
|
||||
Ton Roosendaal
|
||||
Copyright 2006
|
||||
Netherlands Media Art Institute / Montevideo
|
||||
Blender Foundation
|
|
@ -1,46 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Video.js Text Descriptions, Chapters & Captions Example</title>
|
||||
|
||||
<link href="../../video-js.css" rel="stylesheet" type="text/css">
|
||||
|
||||
<script src="../../video.js"></script>
|
||||
|
||||
<!-- Set the location of the flash SWF -->
|
||||
<script>
|
||||
videojs.setGlobalOptions({
|
||||
flash: {
|
||||
swf: '../../video-js.swf'
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p style="background-color:#eee; border: 1px solid #777; padding: 10px; font-size: .8em; line-height: 1.5em; font-family: Verdana, sans-serif;">This page demonstrates a text descriptions track (intended primarily for blind and visually impaired consumers of visual media)</p>
|
||||
|
||||
<!-- NOTE: we have to disable native Text Track support for the HTML5 tech,
|
||||
since even HTML5 video players with native Text Track support
|
||||
don't currently support 'description' text tracks in any
|
||||
useful way! -->
|
||||
<video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="360"
|
||||
data-setup='{ "html5" : { "nativeTextTracks" : false } }'>
|
||||
<source src="https://archive.org/download/ElephantsDream/ed_hd.mp4" type="video/mp4">
|
||||
<source src="https://archive.org/download/ElephantsDream/ed_hd.ogv" type="video/ogv">
|
||||
|
||||
<track kind="captions" src="captions.en.vtt" srclang="en" label="English" default></track><!-- Tracks need an ending tag thanks to IE9 -->
|
||||
<track kind="captions" src="captions.sv.vtt" srclang="sv" label="Swedish"></track>
|
||||
<track kind="captions" src="captions.ru.vtt" srclang="ru" label="Russian"></track>
|
||||
<track kind="captions" src="captions.ja.vtt" srclang="ja" label="Japanese"></track>
|
||||
<track kind="captions" src="captions.ar.vtt" srclang="ar" label="Arabic"></track>
|
||||
|
||||
<track kind="descriptions" src="descriptions.en.vtt" srclang="en" label="English"></track>
|
||||
|
||||
<track kind="chapters" src="chapters.en.vtt" srclang="en" label="English"></track>
|
||||
|
||||
<p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
|
||||
</video>
|
||||
</body>
|
||||
</html>
|
|
@ -1,41 +0,0 @@
|
|||
WEBVTT
|
||||
|
||||
00:00.700 --> 00:04.110
|
||||
Captions describe all relevant audio for the hearing impaired.
|
||||
[ Heroic music playing for a seagull ]
|
||||
|
||||
00:04.500 --> 00:05.000
|
||||
[ Splash!!! ]
|
||||
|
||||
00:05.100 --> 00:06.000
|
||||
[ Sploosh!!! ]
|
||||
|
||||
00:08.000 --> 00:09.225
|
||||
[ Splash...splash...splash splash splash ]
|
||||
|
||||
00:10.525 --> 00:11.255
|
||||
[ Splash, Sploosh again ]
|
||||
|
||||
00:13.500 --> 00:14.984
|
||||
Dolphin: eeeEEEEEeeee!
|
||||
|
||||
00:14.984 --> 00:16.984
|
||||
Dolphin: Squawk! eeeEEE?
|
||||
|
||||
00:25.000 --> 00:28.284
|
||||
[ A whole ton of splashes ]
|
||||
|
||||
00:29.500 --> 00:31.000
|
||||
Mine. Mine. Mine.
|
||||
|
||||
00:34.300 --> 00:36.000
|
||||
Shark: Chomp
|
||||
|
||||
00:36.800 --> 00:37.900
|
||||
Shark: CHOMP!!!
|
||||
|
||||
00:37.861 --> 00:41.193
|
||||
EEEEEEOOOOOOOOOOWHALENOISE
|
||||
|
||||
00:42.593 --> 00:45.611
|
||||
[ BIG SPLASH ]
|
|
@ -1,27 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
|
||||
<title>Video.js | HTML5 Video Player</title>
|
||||
<link href="http://vjs.zencdn.net/5.0.2/video-js.css" rel="stylesheet">
|
||||
<script src="http://vjs.zencdn.net/ie8/1.1.0/videojs-ie8.min.js"></script>
|
||||
<script src="http://vjs.zencdn.net/5.0.2/video.js"></script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="264" poster="http://vjs.zencdn.net/v/oceans.png" data-setup="{}">
|
||||
<source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4">
|
||||
<source src="http://vjs.zencdn.net/v/oceans.webm" type="video/webm">
|
||||
<source src="http://vjs.zencdn.net/v/oceans.ogv" type="video/ogg">
|
||||
<track kind="captions" src="../shared/example-captions.vtt" srclang="en" label="English"></track>
|
||||
<!-- Tracks need an ending tag thanks to IE9 -->
|
||||
<track kind="subtitles" src="../shared/example-captions.vtt" srclang="en" label="English"></track>
|
||||
<!-- Tracks need an ending tag thanks to IE9 -->
|
||||
<p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
|
||||
</video>
|
||||
</body>
|
||||
|
||||
</html>
|
File diff suppressed because it is too large
Load diff
12
view/js/video.js/video.min.js
vendored
12
view/js/video.js/video.min.js
vendored
File diff suppressed because one or more lines are too long
836
view/js/videojs-wavesurfer/videojs.wavesurfer.js
Normal file
836
view/js/videojs-wavesurfer/videojs.wavesurfer.js
Normal file
|
@ -0,0 +1,836 @@
|
|||
/*! videojs-wavesurfer v1.3.2
|
||||
* https://github.com/collab-project/videojs-wavesurfer
|
||||
* Copyright (c) Collab 2014-2017 - Licensed MIT */
|
||||
(function (root, factory)
|
||||
{
|
||||
if (typeof define === 'function' && define.amd)
|
||||
{
|
||||
// AMD. Register as an anonymous module.
|
||||
define(['videojs', 'wavesurfer'], factory);
|
||||
}
|
||||
else if (typeof module === 'object' && module.exports)
|
||||
{
|
||||
// Node. Does not work with strict CommonJS, but
|
||||
// only CommonJS-like environments that support module.exports,
|
||||
// like Node.
|
||||
module.exports = factory(require('video.js'), require('wavesurfer.js'));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Browser globals (root is window)
|
||||
root.returnExports = factory(root.videojs, root.WaveSurfer);
|
||||
}
|
||||
}(this, function (videojs, WaveSurfer)
|
||||
{
|
||||
var ERROR = 'error';
|
||||
var WARN = 'warn';
|
||||
var VjsComponent = videojs.getComponent('Component');
|
||||
|
||||
/**
|
||||
* Draw a waveform for audio and video files in a video.js player.
|
||||
* @class
|
||||
* @augments videojs.Component
|
||||
*/
|
||||
videojs.Waveform = videojs.extend(VjsComponent,
|
||||
{
|
||||
/**
|
||||
* The constructor function for the class.
|
||||
*
|
||||
* @param {(videojs.Player|Object)} player - Video.js player instance.
|
||||
* @param {Object} options - Player options.
|
||||
*/
|
||||
constructor: function(player, options)
|
||||
{
|
||||
// run base component initializing with new options
|
||||
VjsComponent.call(this, player, options);
|
||||
|
||||
// parse options
|
||||
this.waveReady = false;
|
||||
this.waveFinished = false;
|
||||
this.liveMode = false;
|
||||
this.debug = (this.options_.options.debug.toString() === 'true');
|
||||
this.msDisplayMax = parseFloat(this.options_.options.msDisplayMax);
|
||||
|
||||
if (this.options_.options.src === 'live')
|
||||
{
|
||||
// check if the wavesurfer.js microphone plugin can be enabled
|
||||
try
|
||||
{
|
||||
this.microphone = Object.create(WaveSurfer.Microphone);
|
||||
|
||||
// listen for events
|
||||
this.microphone.on('deviceError', this.onWaveError.bind(this));
|
||||
|
||||
// enable audio input from a microphone
|
||||
this.liveMode = true;
|
||||
this.waveReady = true;
|
||||
|
||||
this.log('wavesurfer.js microphone plugin enabled.');
|
||||
}
|
||||
catch (TypeError)
|
||||
{
|
||||
this.onWaveError('Could not find wavesurfer.js ' +
|
||||
'microphone plugin!');
|
||||
}
|
||||
}
|
||||
|
||||
// wait until player ui is ready
|
||||
this.player().one('ready', this.setupUI.bind(this));
|
||||
},
|
||||
|
||||
/**
|
||||
* Player UI is ready.
|
||||
* @private
|
||||
*/
|
||||
setupUI: function()
|
||||
{
|
||||
// customize controls
|
||||
this.player().bigPlayButton.hide();
|
||||
|
||||
// the native controls don't work for this UI so disable
|
||||
// them no matter what
|
||||
if (this.player().usingNativeControls_ === true)
|
||||
{
|
||||
if (this.player().tech_.el_ !== undefined)
|
||||
{
|
||||
this.player().tech_.el_.controls = false;
|
||||
}
|
||||
}
|
||||
|
||||
// since video.js 5.11.0 the player won't start if no src is
|
||||
// set (see PR 3378), so fake it
|
||||
this.player().currentSrc = function()
|
||||
{
|
||||
return 'videojs-wavesurfer';
|
||||
};
|
||||
|
||||
if (this.player().options_.controls)
|
||||
{
|
||||
// make sure controlBar is showing
|
||||
this.player().controlBar.show();
|
||||
this.player().controlBar.el().style.display = 'flex';
|
||||
|
||||
// progress control isn't used by this plugin
|
||||
this.player().controlBar.progressControl.hide();
|
||||
|
||||
// prevent controlbar fadeout
|
||||
this.player().on('userinactive', function(event)
|
||||
{
|
||||
this.player().userActive(true);
|
||||
});
|
||||
|
||||
// make sure time display is visible
|
||||
var uiElements = [this.player().controlBar.currentTimeDisplay,
|
||||
this.player().controlBar.timeDivider,
|
||||
this.player().controlBar.durationDisplay];
|
||||
for (var element in uiElements)
|
||||
{
|
||||
// ignore when elements have been disabled by user
|
||||
if (uiElements[element] !== undefined)
|
||||
{
|
||||
uiElements[element].el().style.display = 'block';
|
||||
uiElements[element].show();
|
||||
}
|
||||
}
|
||||
if (this.player().controlBar.remainingTimeDisplay !== undefined)
|
||||
{
|
||||
this.player().controlBar.remainingTimeDisplay.hide();
|
||||
}
|
||||
if (this.player().controlBar.timeDivider !== undefined)
|
||||
{
|
||||
this.player().controlBar.timeDivider.el().style.textAlign = 'center';
|
||||
this.player().controlBar.timeDivider.el().style.width = '2em';
|
||||
}
|
||||
|
||||
// disable play button until waveform is ready
|
||||
// (except when in live mode)
|
||||
if (!this.liveMode)
|
||||
{
|
||||
this.player().controlBar.playToggle.hide();
|
||||
}
|
||||
}
|
||||
|
||||
// waveform events
|
||||
this.surfer = Object.create(WaveSurfer);
|
||||
this.surfer.on('error', this.onWaveError.bind(this));
|
||||
this.surfer.on('finish', this.onWaveFinish.bind(this));
|
||||
|
||||
this.surferReady = this.onWaveReady.bind(this);
|
||||
this.surferProgress = this.onWaveProgress.bind(this);
|
||||
this.surferSeek = this.onWaveSeek.bind(this);
|
||||
|
||||
// only listen to these events when we're not in live mode
|
||||
if (!this.liveMode)
|
||||
{
|
||||
this.setupPlaybackEvents(true);
|
||||
}
|
||||
|
||||
// player events
|
||||
this.player().on('play', this.onPlay.bind(this));
|
||||
this.player().on('pause', this.onPause.bind(this));
|
||||
this.player().on('volumechange', this.onVolumeChange.bind(this));
|
||||
this.player().on('fullscreenchange', this.onScreenChange.bind(this));
|
||||
|
||||
// kick things off
|
||||
this.startPlayers();
|
||||
},
|
||||
|
||||
/**
|
||||
* Starts or stops listening to events related to audio-playback.
|
||||
*
|
||||
* @param {boolean} enable - Start or stop listening to playback
|
||||
* related events.
|
||||
* @private
|
||||
*/
|
||||
setupPlaybackEvents: function(enable)
|
||||
{
|
||||
if (enable === false)
|
||||
{
|
||||
this.surfer.un('ready', this.surferReady);
|
||||
this.surfer.un('audioprocess', this.surferProgress);
|
||||
this.surfer.un('seek', this.surferSeek);
|
||||
}
|
||||
else if (enable === true)
|
||||
{
|
||||
this.surfer.on('ready', this.surferReady);
|
||||
this.surfer.on('audioprocess', this.surferProgress);
|
||||
this.surfer.on('seek', this.surferSeek);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Start the players.
|
||||
* @private
|
||||
*/
|
||||
startPlayers: function()
|
||||
{
|
||||
var options = this.options_.options;
|
||||
|
||||
// init waveform
|
||||
this.initialize(options);
|
||||
|
||||
if (options.src !== undefined)
|
||||
{
|
||||
if (this.microphone === undefined)
|
||||
{
|
||||
// show loading spinner
|
||||
this.player().loadingSpinner.show();
|
||||
|
||||
// start loading file
|
||||
this.load(options.src);
|
||||
}
|
||||
else
|
||||
{
|
||||
// hide loading spinner
|
||||
this.player().loadingSpinner.hide();
|
||||
|
||||
// connect microphone input to our waveform
|
||||
options.wavesurfer = this.surfer;
|
||||
this.microphone.init(options);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// no valid src found, hide loading spinner
|
||||
this.player().loadingSpinner.hide();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Initializes the waveform.
|
||||
*
|
||||
* @param {Object} opts - Plugin options.
|
||||
* @private
|
||||
*/
|
||||
initialize: function(opts)
|
||||
{
|
||||
this.originalHeight = this.player().options_.height;
|
||||
var controlBarHeight = this.player().controlBar.height();
|
||||
if (this.player().options_.controls === true && controlBarHeight === 0)
|
||||
{
|
||||
// the dimensions of the controlbar are not known yet, but we
|
||||
// need it now, so we can calculate the height of the waveform.
|
||||
// The default height is 30px, so use that instead.
|
||||
controlBarHeight = 30;
|
||||
}
|
||||
|
||||
// set waveform element and dimensions
|
||||
// Set the container to player's container if "container" option is
|
||||
// not provided. If a waveform needs to be appended to your custom
|
||||
// element, then use below option. For example:
|
||||
// container: document.querySelector("#vjs-waveform")
|
||||
if (opts.container === undefined)
|
||||
{
|
||||
opts.container = this.el();
|
||||
}
|
||||
|
||||
// set the height of generated waveform if user has provided height
|
||||
// from options. If height of waveform need to be customized then use
|
||||
// option below. For example: waveformHeight: 30
|
||||
if (opts.waveformHeight === undefined)
|
||||
{
|
||||
opts.height = this.player().height() - controlBarHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
opts.height = opts.waveformHeight;
|
||||
}
|
||||
|
||||
// split channels
|
||||
if (opts.splitChannels && opts.splitChannels === true)
|
||||
{
|
||||
opts.height /= 2;
|
||||
}
|
||||
|
||||
// customize waveform appearance
|
||||
this.surfer.init(opts);
|
||||
},
|
||||
|
||||
/**
|
||||
* Start loading waveform data.
|
||||
*
|
||||
* @param {string|blob|file} url - Either the URL of the audio file,
|
||||
* a Blob or a File object.
|
||||
*/
|
||||
load: function(url)
|
||||
{
|
||||
if (url instanceof Blob || url instanceof File)
|
||||
{
|
||||
this.log('Loading object: ' + url);
|
||||
this.surfer.loadBlob(url);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.log('Loading URL: ' + url);
|
||||
this.surfer.load(url);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Start/resume playback or microphone.
|
||||
*/
|
||||
play: function()
|
||||
{
|
||||
if (this.liveMode)
|
||||
{
|
||||
// start/resume microphone visualization
|
||||
if (!this.microphone.active)
|
||||
{
|
||||
this.log('Start microphone');
|
||||
this.microphone.start();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.log('Resume microphone');
|
||||
this.microphone.play();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.log('Start playback');
|
||||
|
||||
// put video.js player UI in playback mode
|
||||
this.player().play();
|
||||
|
||||
// start surfer playback
|
||||
this.surfer.play();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Pauses playback or microphone visualization.
|
||||
*/
|
||||
pause: function()
|
||||
{
|
||||
if (this.liveMode)
|
||||
{
|
||||
// pause microphone visualization
|
||||
this.log('Pause microphone');
|
||||
this.microphone.pause();
|
||||
}
|
||||
else
|
||||
{
|
||||
// pause playback
|
||||
this.log('Pause playback');
|
||||
if (!this.waveFinished)
|
||||
{
|
||||
this.surfer.pause();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.waveFinished = false;
|
||||
}
|
||||
|
||||
this.setCurrentTime();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Remove the player and waveform.
|
||||
*/
|
||||
destroy: function()
|
||||
{
|
||||
this.log('Destroying plugin');
|
||||
|
||||
if (this.liveMode && this.microphone)
|
||||
{
|
||||
// destroy microphone plugin
|
||||
this.log('Destroying microphone');
|
||||
this.microphone.destroy();
|
||||
}
|
||||
|
||||
this.surfer.destroy();
|
||||
this.player().dispose();
|
||||
},
|
||||
|
||||
/**
|
||||
* Set the current volume.
|
||||
*
|
||||
* @param {number} volume - The new volume level.
|
||||
*/
|
||||
setVolume: function(volume)
|
||||
{
|
||||
if (volume !== undefined)
|
||||
{
|
||||
this.log('Changing volume to: ' + volume);
|
||||
this.surfer.setVolume(volume);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Save waveform image as data URI.
|
||||
*
|
||||
* The default format is 'image/png'. Other supported types are
|
||||
* 'image/jpeg' and 'image/webp'.
|
||||
*
|
||||
* @param {string} [format=image/png] - String indicating the image format.
|
||||
* @param {number} [quality=1] - Number between 0 and 1 indicating image
|
||||
* quality if the requested type is 'image/jpeg' or 'image/webp'.
|
||||
* @returns {string} The data URI of the image data.
|
||||
*/
|
||||
exportImage: function(format, quality)
|
||||
{
|
||||
return this.surfer.exportImage(format, quality);
|
||||
},
|
||||
|
||||
/**
|
||||
* Log message (if the debug option is enabled).
|
||||
* @private
|
||||
*/
|
||||
log: function(args, logType)
|
||||
{
|
||||
if (this.debug === true)
|
||||
{
|
||||
if (logType === ERROR)
|
||||
{
|
||||
videojs.log.error(args);
|
||||
}
|
||||
else if (logType === WARN)
|
||||
{
|
||||
videojs.log.warn(args);
|
||||
}
|
||||
else
|
||||
{
|
||||
videojs.log(args);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Get the current time (in seconds) of the stream during playback.
|
||||
*
|
||||
* Returns 0 if no stream is available (yet).
|
||||
*/
|
||||
getCurrentTime: function()
|
||||
{
|
||||
var currentTime = this.surfer.getCurrentTime();
|
||||
|
||||
currentTime = isNaN(currentTime) ? 0 : currentTime;
|
||||
|
||||
return currentTime;
|
||||
},
|
||||
|
||||
/**
|
||||
* Updates the player's element displaying the current time.
|
||||
*
|
||||
* @param {number} [currentTime] - Current position of the playhead
|
||||
* (in seconds).
|
||||
* @param {number} [duration] - Duration of the waveform (in seconds).
|
||||
* @private
|
||||
*/
|
||||
setCurrentTime: function(currentTime, duration)
|
||||
{
|
||||
if (currentTime === undefined)
|
||||
{
|
||||
currentTime = this.surfer.getCurrentTime();
|
||||
}
|
||||
|
||||
if (duration === undefined)
|
||||
{
|
||||
duration = this.surfer.getDuration();
|
||||
}
|
||||
|
||||
currentTime = isNaN(currentTime) ? 0 : currentTime;
|
||||
duration = isNaN(duration) ? 0 : duration;
|
||||
var time = Math.min(currentTime, duration);
|
||||
|
||||
// update control
|
||||
this.player().controlBar.currentTimeDisplay.contentEl(
|
||||
).innerHTML = this.formatTime(time, duration);
|
||||
},
|
||||
|
||||
/**
|
||||
* Get the duration of the stream in seconds.
|
||||
*
|
||||
* Returns 0 if no stream is available (yet).
|
||||
*/
|
||||
getDuration: function()
|
||||
{
|
||||
var duration = this.surfer.getDuration();
|
||||
|
||||
duration = isNaN(duration) ? 0 : duration;
|
||||
|
||||
return duration;
|
||||
},
|
||||
|
||||
/**
|
||||
* Updates the player's element displaying the duration time.
|
||||
*
|
||||
* @param {number} [duration] - Duration of the waveform (in seconds).
|
||||
* @private
|
||||
*/
|
||||
setDuration: function(duration)
|
||||
{
|
||||
if (duration === undefined)
|
||||
{
|
||||
duration = this.surfer.getDuration();
|
||||
}
|
||||
|
||||
duration = isNaN(duration) ? 0 : duration;
|
||||
|
||||
// update control
|
||||
this.player().controlBar.durationDisplay.contentEl(
|
||||
).innerHTML = this.formatTime(duration, duration);
|
||||
},
|
||||
|
||||
/**
|
||||
* Wave ready event.
|
||||
*
|
||||
* Fired when audio is loaded, decoded and the waveform is drawn.
|
||||
*
|
||||
* @event waveReady
|
||||
*/
|
||||
|
||||
/**
|
||||
* Audio is loaded, decoded and the waveform is drawn.
|
||||
*
|
||||
* @fires waveReady
|
||||
* @private
|
||||
*/
|
||||
onWaveReady: function()
|
||||
{
|
||||
this.waveReady = true;
|
||||
this.waveFinished = false;
|
||||
this.liveMode = false;
|
||||
|
||||
this.log('Waveform is ready');
|
||||
this.player().trigger('waveReady');
|
||||
|
||||
// update time display
|
||||
this.setCurrentTime();
|
||||
this.setDuration();
|
||||
|
||||
// enable and show play button
|
||||
this.player().controlBar.playToggle.show();
|
||||
|
||||
// hide loading spinner
|
||||
this.player().loadingSpinner.hide();
|
||||
|
||||
// auto-play when ready (if enabled)
|
||||
if (this.player().options_.autoplay)
|
||||
{
|
||||
this.play();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Playback finish event.
|
||||
*
|
||||
* Fired when audio playback finished.
|
||||
*
|
||||
* @event playbackFinish
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fires when audio playback completed.
|
||||
* @private
|
||||
*/
|
||||
onWaveFinish: function()
|
||||
{
|
||||
this.log('Finished playback');
|
||||
|
||||
this.player().trigger('playbackFinish');
|
||||
|
||||
// check if player isn't paused already
|
||||
if (!this.player().paused())
|
||||
{
|
||||
// check if loop is enabled
|
||||
if (this.player().options_.loop)
|
||||
{
|
||||
// reset waveform
|
||||
this.surfer.stop();
|
||||
this.play();
|
||||
}
|
||||
else
|
||||
{
|
||||
// finished
|
||||
this.waveFinished = true;
|
||||
|
||||
// pause player
|
||||
this.player().pause();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Fires continuously during audio playback.
|
||||
*
|
||||
* @param {number} time - Current time/location of the playhead.
|
||||
* @private
|
||||
*/
|
||||
onWaveProgress: function(time)
|
||||
{
|
||||
this.setCurrentTime();
|
||||
},
|
||||
|
||||
/**
|
||||
* Fires during seeking of the waveform.
|
||||
* @private
|
||||
*/
|
||||
onWaveSeek: function()
|
||||
{
|
||||
this.setCurrentTime();
|
||||
},
|
||||
|
||||
/**
|
||||
* Fired whenever the media in the player begins or resumes playback.
|
||||
* @private
|
||||
*/
|
||||
onPlay: function()
|
||||
{
|
||||
// don't start playing until waveform's ready
|
||||
if (this.waveReady)
|
||||
{
|
||||
this.play();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Fired whenever the media in the player has been paused.
|
||||
* @private
|
||||
*/
|
||||
onPause: function()
|
||||
{
|
||||
this.pause();
|
||||
},
|
||||
|
||||
/**
|
||||
* Fired when the volume in the player changes.
|
||||
* @private
|
||||
*/
|
||||
onVolumeChange: function()
|
||||
{
|
||||
var volume = this.player().volume();
|
||||
if (this.player().muted())
|
||||
{
|
||||
// muted volume
|
||||
volume = 0;
|
||||
}
|
||||
|
||||
this.setVolume(volume);
|
||||
},
|
||||
|
||||
/**
|
||||
* Fired when the player switches in or out of fullscreen mode.
|
||||
* @private
|
||||
*/
|
||||
onScreenChange: function()
|
||||
{
|
||||
var isFullscreen = this.player().isFullscreen();
|
||||
var newHeight;
|
||||
|
||||
if (!isFullscreen)
|
||||
{
|
||||
// restore original height
|
||||
newHeight = this.originalHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
// fullscreen height
|
||||
newHeight = window.outerHeight;
|
||||
}
|
||||
|
||||
if (this.waveReady)
|
||||
{
|
||||
if (this.liveMode && !this.microphone.active)
|
||||
{
|
||||
// we're in live mode but the microphone hasn't been
|
||||
// started yet
|
||||
return;
|
||||
}
|
||||
|
||||
// destroy old drawing
|
||||
this.surfer.drawer.destroy();
|
||||
|
||||
// set new height
|
||||
this.surfer.params.height = newHeight - this.player().controlBar.height();
|
||||
this.surfer.createDrawer();
|
||||
|
||||
// redraw
|
||||
this.surfer.drawBuffer();
|
||||
|
||||
// make sure playhead is restored at right position
|
||||
this.surfer.drawer.progress(this.surfer.backend.getPlayedPercents());
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Waveform error.
|
||||
*
|
||||
* @param {string} error - The wavesurfer error.
|
||||
* @private
|
||||
*/
|
||||
onWaveError: function(error)
|
||||
{
|
||||
this.log(error, ERROR);
|
||||
|
||||
this.player().trigger('error', error);
|
||||
},
|
||||
|
||||
/**
|
||||
* Format seconds as a time string, H:MM:SS, M:SS or M:SS:MMM.
|
||||
*
|
||||
* Supplying a guide (in seconds) will force a number of leading zeros
|
||||
* to cover the length of the guide.
|
||||
*
|
||||
* @param {number} seconds - Number of seconds to be turned into a
|
||||
* string.
|
||||
* @param {number} guide - Number (in seconds) to model the string
|
||||
* after.
|
||||
* @return {string} Time formatted as H:MM:SS, M:SS or M:SS:MMM, e.g.
|
||||
* 0:00:12.
|
||||
* @private
|
||||
*/
|
||||
formatTime: function(seconds, guide)
|
||||
{
|
||||
// Default to using seconds as guide
|
||||
seconds = seconds < 0 ? 0 : seconds;
|
||||
guide = guide || seconds;
|
||||
var s = Math.floor(seconds % 60),
|
||||
m = Math.floor(seconds / 60 % 60),
|
||||
h = Math.floor(seconds / 3600),
|
||||
gm = Math.floor(guide / 60 % 60),
|
||||
gh = Math.floor(guide / 3600),
|
||||
ms = Math.floor((seconds - s) * 1000);
|
||||
|
||||
// handle invalid times
|
||||
if (isNaN(seconds) || seconds === Infinity)
|
||||
{
|
||||
// '-' is false for all relational operators (e.g. <, >=) so this
|
||||
// setting will add the minimum number of fields specified by the
|
||||
// guide
|
||||
h = m = s = ms = '-';
|
||||
}
|
||||
|
||||
// Check if we need to show milliseconds
|
||||
if (guide > 0 && guide < this.msDisplayMax)
|
||||
{
|
||||
if (ms < 100)
|
||||
{
|
||||
if (ms < 10)
|
||||
{
|
||||
ms = '00' + ms;
|
||||
}
|
||||
else
|
||||
{
|
||||
ms = '0' + ms;
|
||||
}
|
||||
}
|
||||
ms = ':' + ms;
|
||||
}
|
||||
else
|
||||
{
|
||||
ms = '';
|
||||
}
|
||||
|
||||
// Check if we need to show hours
|
||||
h = (h > 0 || gh > 0) ? h + ':' : '';
|
||||
|
||||
// If hours are showing, we may need to add a leading zero.
|
||||
// Always show at least one digit of minutes.
|
||||
m = (((h || gm >= 10) && m < 10) ? '0' + m : m) + ':';
|
||||
|
||||
// Check if leading zero is need for seconds
|
||||
s = ((s < 10) ? '0' + s : s);
|
||||
|
||||
return h + m + s + ms;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var createWaveform = function()
|
||||
{
|
||||
var props = {
|
||||
className: 'vjs-waveform',
|
||||
tabIndex: 0
|
||||
};
|
||||
return VjsComponent.prototype.createEl('div', props);
|
||||
};
|
||||
|
||||
// plugin defaults
|
||||
var defaults = {
|
||||
// Display console log messages.
|
||||
debug: false,
|
||||
// msDisplayMax indicates the number of seconds that is
|
||||
// considered the boundary value for displaying milliseconds
|
||||
// in the time controls. An audio clip with a total length of
|
||||
// 2 seconds and a msDisplayMax of 3 will use the format
|
||||
// M:SS:MMM. Clips longer than msDisplayMax will be displayed
|
||||
// as M:SS or HH:MM:SS.
|
||||
msDisplayMax: 3
|
||||
};
|
||||
|
||||
/**
|
||||
* Initialize the plugin.
|
||||
*
|
||||
* @param {Object} [options] - Configuration for the plugin.
|
||||
* @private
|
||||
*/
|
||||
var wavesurferPlugin = function(options)
|
||||
{
|
||||
var settings = videojs.mergeOptions(defaults, options);
|
||||
var player = this;
|
||||
|
||||
// create new waveform
|
||||
player.waveform = new videojs.Waveform(player,
|
||||
{
|
||||
'el': createWaveform(),
|
||||
'options': settings
|
||||
});
|
||||
|
||||
// add waveform to dom
|
||||
player.el().appendChild(player.waveform.el());
|
||||
};
|
||||
|
||||
// register the plugin
|
||||
var registerPlugin = videojs.plugin;
|
||||
if (typeof videojs.registerPlugin === 'function')
|
||||
{
|
||||
// video.js >= 6.0.0
|
||||
registerPlugin = videojs.registerPlugin;
|
||||
}
|
||||
registerPlugin('wavesurfer', wavesurferPlugin);
|
||||
|
||||
// return a function to define the module export
|
||||
return wavesurferPlugin;
|
||||
}));
|
4
view/js/videojs-wavesurfer/videojs.wavesurfer.min.js
vendored
Normal file
4
view/js/videojs-wavesurfer/videojs.wavesurfer.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
view/js/videojs-wavesurfer/wavesurfer.min.js
vendored
Normal file
6
view/js/videojs-wavesurfer/wavesurfer.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -94,7 +94,7 @@ $config = new Configuration();
|
|||
if ($video['type'] !== "audio") {
|
||||
$img = "{$global['webSiteRootURL']}videos/{$video['filename']}.jpg";
|
||||
} else {
|
||||
$img = "{$global['webSiteRootURL']}view/img/mp3.png";
|
||||
$img = "{$global['webSiteRootURL']}view/img/audio_wave.jpg";
|
||||
}
|
||||
?>
|
||||
<img src="<?php echo $img; ?>" alt="<?php echo $video['title']; ?>" class="img img-responsive" height="130px" itemprop="thumbnail" />
|
||||
|
@ -484,7 +484,7 @@ $config = new Configuration();
|
|||
if ($value['type'] !== "audio") {
|
||||
$img = "{$global['webSiteRootURL']}videos/{$value['filename']}.jpg";
|
||||
} else {
|
||||
$img = "{$global['webSiteRootURL']}view/img/mp3.png";
|
||||
$img = "{$global['webSiteRootURL']}view/img/audio_wave.jpg";
|
||||
}
|
||||
?>
|
||||
<img src="<?php echo $img; ?>" alt="<?php echo $value['title']; ?>" class="img-responsive" height="130px" itemprop="thumbnail" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue