2015-11-22 1 views
12

Je veux écrire une petite application ionique/angulaire où je charge un fichier mp3 dynamique à partir d'un serveur distant et le jouer pour appuyer sur un bouton OU s'il est coché je le joue automatiquement. J'ai essayé d'utiliser simple <audio></audio> mais je ne suis pas sûr que ce soit la bonne façon pour cette ...Comment jouer en mp3 avec Angular 2?

Code:

html

<audio id="player"> 
<source id="source" src="http://remote.address.com/example.mp3"></source> 
</audio> 

javascript

play(){ 
var audio= document.getElementById('player'); 
audio.play(); 
} 
+2

La façon la plus angular2 pour ce faire, est de saisir le 'audio' élément avec une variable , comme dans cette [réponse] (http://stackoverflow.com/a/33771672/4933038). Rappelez-vous, tout ceci est javascript, donc n'ayez pas peur de l'utiliser :) –

+0

Je pensais que angular2 et ionic2 sont plus simmilar :(pas @ViewChild en ionique ou je devrais importer quelque chose? – MegaX

+0

Je ne sais pas à propos de Ionic2 ni Ionic1 Vous avez inclu angular2 dans vos balises et le titre de la question ne concerne que angular2, donc cela ferait l'affaire.Pour votre cas, je ne pourrais pas dire, ce n'est pas seulement angulaire2, désolé:/ –

Répondre

20

Vous pouvez créer un nouveau fichier audio élément dans le code Javascript ... pas en HTML

par exemple:

var audio = new Audio(); 
audio.src = "http://remote.address.com/example.mp3"; 
audio.load(); 
audio.play(); 
+0

cela crée-t-il un élément en arrière-plan ou en html? Je veux dire mettre en pause et jouer. comment cela peut-il être fait ... ou nous pouvons simplement utiliser des déclencheurs pour jouer et faire une pause en utilisant cela? – Basit

+0

il le crée en arrière-plan si vous voulez le mettre en pause, vous pouvez utiliser la fonction de pause audio audio.pause(); consultez l'API élément média: [lien] (https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement) –

+0

Puis-je avoir un exemple de travail pour le même? quelque chose comme plunkr ou un extrait? –

2

Si vous voulez exécuter son en application mobile ionique-2/2-angulaire.

Follow Ionic 2 guide here

Installation:

ionic plugin add --save cordova-plugin-nativeaudio 
npm install --save @ionic-native/native-audio 

Utilisation:

import { NativeAudio } from '@ionic-native/native-audio'; 

    constructor(private nativeAudio: NativeAudio) { } 



    this.nativeAudio.preloadSimple('uniqueId1','path/to/file.mp3').then(onSuccess, onError); 
    this.nativeAudio.preloadComplex('uniqueId2','path/to/file2.mp3', 1, 1, 0).then(onSuccess, onError); 

    this.nativeAudio.play('uniqueId1').then(onSuccess, onError); 

    // can optionally pass a callback to be called when the file is done playing 
    this.nativeAudio.play('uniqueId1',() =>console.log('uniqueId1 is done playing')); 

source-1 : https://stackoverflow.com/a/43917441/6786941

+0

Est-ce que cela fonctionnera avec une URL distante? –

+0

je ne sais pas, il fonctionne avec les fichiers locaux –

+0

mais dans le débogage il charge le fichier via http –