"Annuleer" knop die audio onthoudt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maikel Nachter

Maikel Nachter

15/12/2011 20:25:59
Quote Anchor link
Hallo beste mensen,

Ik en een vriend zijn bezig met een applicatie waarin audio een belangrijke rol speelt. Het is namelijk een audio tour in de vorm van een website, die je met behulp van je smartphone kunt lopen.

Je loopt van locatie naar locatie en tijdens het lopen wordt er audio afgespeeld. We hebben twee audio knoppen: play en pause.

De code werkt perfect. Nu is de vraag: tijdens de tour wil je misschien stoppen. Je drukt op "stoppen" en komt op een stop pagina terecht. Je wilt toch niet stoppen, en drukt op "annuleren" en gaat met de tour verder. Nu is onze vraag of er een Javascript code of iets anders is die de audio kan onthouden, en dus weet waar je bent gebleven, zodat je niet hele hele verhaal opnieuw moet horen.

code:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#play-bt").click(function(){
$("#audio-player")[0].play();
})

$("#pause-bt").click(function(){
$("#audio-player")[0].pause();
})
})
</script>

<div id="button">
<audio id="audio-player" name="audio-player" autoplay="autoplay" src="audio/ChanuryNo1.mp3"></audio>
<a class="links" href="#links"></a>
<a id="pause-bt" href="#pause"></a>
<a id="play-bt" href="#play"></a>
<a class="rechts" href="#tour"></a>
</div>
 
PHP hulp

PHP hulp

24/11/2024 18:06:20
 
Nick Dijkstra

Nick Dijkstra

15/12/2011 21:01:24
Quote Anchor link
Maak als je op stop klikt dat er een floatbox komt met de stoppagina en dat de audio gepauzeerd wordt. Als je in de floatbox op annuleer klikt, sluit je de floatbox en speel je je audio verder af.
 
Maikel Nachter

Maikel Nachter

15/12/2011 21:07:41
Quote Anchor link
Thanks voor de reactie. Had hier al eerder aangedacht. Maar is dat niet erg irritant op een mobiele telefoon?
 
Nick Dijkstra

Nick Dijkstra

15/12/2011 21:15:32
Quote Anchor link
Oja, moet op een mobiele telefoon he. Kan je dan niet met javascript de tour display op none zetten en audio op pauze, en dan een nieuw blok ervoor?
 
Maikel Nachter

Maikel Nachter

15/12/2011 21:18:40
Quote Anchor link
Ben niet erg bekend in JS, is dit te doen met onClick?
 
Nick Dijkstra

Nick Dijkstra

15/12/2011 21:28:15
Quote Anchor link
Ja, je gebruikt al jQuery. Je kan zoiets doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<script>
$(document).ready(function(){

$("#play-bt").click(function(){
$("#audio-player")[0].play();
})

$("#pause-bt").click(function(){
$("#audio-player")[0].pause();
})

$("#stop-bt").click(function(){
$("#audio-player")[0].pause();
$("#tour").css("display","none");
$("#stop-page").css("display","block");
})

$("#annuleer-bt").click(function(){
$("#audio-player")[0].play();
$("#tour").css("display","block");
$("#stop-page").css("display","none");
})

})
</script>
Gewijzigd op 15/12/2011 21:30:34 door Nick Dijkstra
 
Maikel Nachter

Maikel Nachter

15/12/2011 21:53:10
Quote Anchor link
Bedankt voor je moeite. Ik heb 2 vraagjes. Ten eerste snap ik de display block niet.
Ten tweede, leest de javascript history back functie ook dat de knop hem pauzeert on click, zodat ik hem kan gebruiken op de stop pagina?
 
Nick Dijkstra

Nick Dijkstra

15/12/2011 22:00:34
Quote Anchor link
Als je display block gebruikt kan je dit gebruiken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<script>
$(document).ready(function(){

$("#play-bt").click(function(){
$("#audio-player")[0].play();
})

$("#pause-bt").click(function(){
$("#audio-player")[0].pause();
})

$("#stop-bt").click(function(){
$("#audio-player")[0].pause();
$("#tour").css("display","none");
$("#stop-page").css("display","block");
})

$("#annuleer-bt").click(function(){
$("#audio-player")[0].play();
$("#tour").css("display","block");
$("#stop-page").css("display","none");
})

$("#leave-bt").click(function(){
//verlaat audio tour
})

})
</script>


<div id="tour">
Audio tour
</div>
<div id="stop-page" style="display:none;">
Weet u zeker dat u wilt stoppen met de tour?

<input type="button" id="annuleer-bt" value="Annuleer"><input type="button" id="leave-bt" value="Stop">
</div>
 
Maikel Nachter

Maikel Nachter

15/12/2011 22:07:33
Quote Anchor link
Oke ik zie het. Alleen, je drukt vanuit de audio tour pagina op stop, en vervolgens kom je op de stop pagina, waar je kunt kiezen uit stoppen (definitief) en annuleren.
 
Nick Dijkstra

Nick Dijkstra

15/12/2011 22:10:18
Quote Anchor link
Klopt, dat was toch de bedoeling? of niet?
 
Maikel Nachter

Maikel Nachter

15/12/2011 22:11:23
Quote Anchor link
Precies, alleen ik begrijp niet hoe de stop pagina kan onthouden dat de script gepauzeerd is, en moet blijven.
 
Nick Dijkstra

Nick Dijkstra

15/12/2011 22:16:21
Quote Anchor link
Ok, hoe laat je het tour script zien?
Is dat gewoon in een div?

De code verbergt de div waar de tour in staat en laat de stop div zien, dus de text.
De tour staat dus nog wel op de pagina, maar is verborgen. Zo onthoud hij nog gewoon waar hij is gebleven.
 
Maikel Nachter

Maikel Nachter

15/12/2011 22:17:55
Quote Anchor link
Ik heb gewoon 2 aparte HTML pagina's 1 voor tour en 1 voor stoppagina.
 
Nick Dijkstra

Nick Dijkstra

15/12/2011 22:19:07
Quote Anchor link
Ok, je zou dan een iframe kunnen gebruiken in de stop div. Of de inhoud van de stop pagina in de stop div zetten.

EDIT: Als je de iframe gebruikt weet ik niet of de javascript code werkt.
Gewijzigd op 15/12/2011 22:26:24 door Nick Dijkstra
 
Maikel Nachter

Maikel Nachter

15/12/2011 22:42:28
Quote Anchor link
Ik ga er naar kijken. Hartelijk dank voor de moeite. Misschien toch een slider toevoegen. hehe.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.