Skylar Ittner 41e1c6e267 | 8 years ago | |
---|---|---|
.. | ||
README.md | 8 years ago | |
index.md | 8 years ago |
README.md
cordova-plugin-media
Questo plugin consente di registrare e riprodurre i file audio su un dispositivo.
Nota: l'implementazione attuale non aderisce a una specifica del W3C per l'acquisizione di mezzi e viene fornito solo per comodità. Una futura realizzazione aderirà alla specifica W3C più recente e può deprecare le API corrente.
Questo plugin definisce un costruttore Media
globale.
Anche se in ambito globale, non è disponibile fino a dopo l'evento deviceready
.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(Media);
}
Installazione
cordova plugin add cordova-plugin-media
Piattaforme supportate
- Android
- BlackBerry 10
- iOS
- Windows Phone 7 e 8
- Tizen
- Windows 8
- Windows
- Browser
Stranezze di Windows Phone
-
File sola multimediale può essere riprodotti in un momento.
-
Ci sono severe restrizioni su come l'applicazione interagisce con altri media. Vedere la documentazione di Microsoft per maggiori dettagli.
Media
var media = new Media(src, mediaSuccess, [mediaError], [mediaStatus]);
Parametri
-
src: un URI contenente il contenuto audio. (DOMString)
-
mediaSuccess: (facoltativo) il callback che viene eseguito dopo un
Media
oggetto ha completato il gioco corrente, record o interrompere l'azione. (Funzione) -
errore mediaError: (facoltativo) il callback che viene eseguito se si verifica un errore. (Funzione)
-
mediaStatus: (facoltativo) il callback che viene eseguito per indicare i cambiamenti di stato. (Funzione)
Costanti
Costanti sono segnalate come unico parametro al metodo di callback mediaStatus
:
Media.MEDIA_NONE
= 0;Media.MEDIA_STARTING
= 1;Media.MEDIA_RUNNING
= 2;Media.MEDIA_PAUSED
= 3;Media.MEDIA_STOPPED
= 4;
Metodi
-
media.getCurrentPosition
: Restituisce la posizione corrente all'interno di un file audio. -
media.getDuration
: Restituisce la durata di un file audio. -
media.play
: Iniziare o riprendere la riproduzione di un file audio. -
media.pause
: Pausa la riproduzione di un file audio. -
media.release
: Libera risorse audio del sistema operativo sottostante. -
media.seekTo
: Sposta la posizione all'interno del file audio. -
media.setVolume
: Impostare il volume per la riproduzione audio. -
media.startRecord
: Iniziare a registrare un file audio. -
media.stopRecord
: Interrompere la registrazione di un file audio. -
media.stop
: Interrompere la riproduzione di un file audio.
Parametri supplementari ReadOnly
-
posizione: la posizione all'interno della riproduzione audio, in pochi secondi.
- Non aggiornate automaticamente durante il gioco; chiamare
getCurrentPosition
per l'aggiornamento.
- Non aggiornate automaticamente durante il gioco; chiamare
-
durata: la durata dei media, in secondi.
media.getCurrentPosition
Restituisce la posizione corrente all'interno di un file audio. Aggiorna anche il parametro di position
dell'oggetto Media
.
media.getCurrentPosition(mediaSuccess, [mediaError]);
Parametri
-
mediaSuccess: il callback passato la posizione corrente in pochi secondi.
-
errore mediaError: (facoltativo) il callback da eseguire se si verifica un errore.
Esempio rapido
// Audio player
//
var my_media = new Media(src, onSuccess, onError);
// Update media position every second
var mediaTimer = setInterval(function () {
// get media position
my_media.getCurrentPosition(
// success callback
function (position) {
if (position > -1) {
console.log((position) + " sec");
}
},
// error callback
function (e) {
console.log("Error getting pos=" + e);
}
);
}, 1000);
media.getDuration
Restituisce la durata di un file audio in secondi. Se la durata è sconosciuta, essa restituisce un valore di -1.
media.getDuration();
Esempio rapido
// Audio player
//
var my_media = new Media(src, onSuccess, onError);
// Get duration
var counter = 0;
var timerDur = setInterval(function() {
counter = counter + 100;
if (counter > 2000) {
clearInterval(timerDur);
}
var dur = my_media.getDuration();
if (dur > 0) {
clearInterval(timerDur);
document.getElementById('audio_duration').innerHTML = (dur) + " sec";
}
}, 100);
Media.pause
Sospende la riproduzione di un file audio.
media.pause();
Esempio rapido
// Play audio
//
function playAudio(url) {
// Play the audio file at url
var my_media = new Media(url,
// success callback
function () { console.log("playAudio():Audio Success"); },
// error callback
function (err) { console.log("playAudio():Audio Error: " + err); }
);
// Play audio
my_media.play();
// Pause after 10 seconds
setTimeout(function () {
media.pause();
}, 10000);
}
Media.Play
Avvia o riprende la riproduzione di un file audio.
media.play();
Esempio rapido
// Play audio
//
function playAudio(url) {
// Play the audio file at url
var my_media = new Media(url,
// success callback
function () {
console.log("playAudio():Audio Success");
},
// error callback
function (err) {
console.log("playAudio():Audio Error: " + err);
}
);
// Play audio
my_media.play();
}
iOS stranezze
-
numberOfLoops: passare questa opzione per il
play
metodo per specificare il numero di volte desiderato file multimediale per riprodurre, ad esempio:var myMedia = new Media("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3") myMedia.play({ numberOfLoops: 2 })
-
playAudioWhenScreenIsLocked: questa opzione per passare il
play
metodo per specificare se si desidera consentire la riproduzione quando lo schermo è bloccato. Se impostato sutrue
(il valore predefinito), viene ignorato lo stato del pulsante mute hardware, ad esempio:var myMedia = new Media("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3") myMedia.play({ playAudioWhenScreenIsLocked : false })
-
ordine di ricerca di file: quando viene fornito solo un nome file o percorso semplice, cerca in iOS il
www
directory per il file, quindi l'applicazionedocuments/tmp
directory:var myMedia = new Media("audio/beer.mp3") myMedia.play() // first looks for file in www/audio/beer.mp3 then in <application>/documents/tmp/audio/beer.mp3
media.release
Rilascia le risorse audio del sistema operativo sottostante. Ciò è particolarmente importante per Android, dato che ci sono una quantità finita di OpenCore istanze per la riproduzione multimediale. Le applicazioni devono chiamare la funzione di release
qualsiasi risorsa Media
non è più necessario.
media.release();
Esempio rapido
// Audio player
//
var my_media = new Media(src, onSuccess, onError);
my_media.play();
my_media.stop();
my_media.release();
media.seekTo
Imposta la posizione corrente all'interno di un file audio.
media.seekTo(milliseconds);
Parametri
- millisecondi: posizione per impostare la posizione di riproduzione all'interno l'audio, in millisecondi.
Esempio rapido
// Audio player
//
var my_media = new Media(src, onSuccess, onError);
my_media.play();
// SeekTo to 10 seconds after 5 seconds
setTimeout(function() {
my_media.seekTo(10000);
}, 5000);
BlackBerry 10 capricci
- Non è supportato sui dispositivi BlackBerry OS 5.
media.setVolume
Impostare il volume per un file audio.
media.setVolume(volume);
Parametri
- volume: il volume impostato per la riproduzione. Il valore deve essere all'interno della gamma di 0,0 e 1,0.
Piattaforme supportate
- Android
- iOS
Esempio rapido
// Play audio
//
function playAudio(url) {
// Play the audio file at url
var my_media = new Media(url,
// success callback
function() {
console.log("playAudio():Audio Success");
},
// error callback
function(err) {
console.log("playAudio():Audio Error: "+err);
});
// Play audio
my_media.play();
// Mute volume after 2 seconds
setTimeout(function() {
my_media.setVolume('0.0');
}, 2000);
// Set volume to 1.0 after 5 seconds
setTimeout(function() {
my_media.setVolume('1.0');
}, 5000);
}
media.startRecord
Avvia la registrazione di un file audio.
media.startRecord();
Piattaforme supportate
- Android
- iOS
- Windows Phone 7 e 8
- Windows
Esempio rapido
// Record audio
//
function recordAudio() {
var src = "myrecording.mp3";
var mediaRec = new Media(src,
// success callback
function() {
console.log("recordAudio():Audio Success");
},
// error callback
function(err) {
console.log("recordAudio():Audio Error: "+ err.code);
});
// Record audio
mediaRec.startRecord();
}
Stranezze Android
- Dispositivi Android registrano audio in formato Adaptive Multi-Rate. Il file specificato deve terminare con l'estensione ** .
- I controlli di volume di hardware sono cablati a volume media mentre eventuali oggetti multimediali sono vivi. Una volta l'ultimi Media creati oggetto ha
release()
chiamato su di esso, i controlli di volume di tornare alla loro comportamento predefinito. I controlli vengono reimpostati anche sulla pagina di navigazione, come questo rilascia tutti gli oggetti multimediali.
iOS stranezze
-
iOS solo i record per i file di tipo WAV e restituisce un errore se il file di nome estensione è non corretto.
-
Se non è specificato un percorso completo, la registrazione viene inserita nell'applicazione
documents/tmp
directory. Questo si può accedere tramite ilFile
API utilizzandoLocalFileSystem.TEMPORARY
. Deve esistere alcuna sottodirectory specificate a tempo di record. -
I file possono essere registrati e giocati indietro usando i documenti URI:
var myMedia = new Media("documents://beer.mp3")
Stranezze di Windows
-
Dispositivi Windows possono utilizzare MP3, M4A e WMA formati per l'audio registrato. Tuttavia, nella maggior parte dei casi non è possibile utilizzare MP3 per la registrazione audio su dispositivi Windows Phone 8.1 , perché un encoder MP3 è non forniti con Windows Phone.
-
Se non è specificato un percorso completo, la registrazione viene inserita nella directory AppData/temp. Questo si può accedere tramite il
File
Utilizzando APILocalFileSystem.TEMPORARY
o ' ms-appdata: / / temp /' URI. -
Deve esistere alcuna sottodirectory specificate a tempo di record.
Tizen stranezze
- Tizen periferiche non supportano.
media.stop
Interrompe la riproduzione di un file audio.
media.stop();
Esempio rapido
// Play audio
//
function playAudio(url) {
// Play the audio file at url
var my_media = new Media(url,
// success callback
function() {
console.log("playAudio():Audio Success");
},
// error callback
function(err) {
console.log("playAudio():Audio Error: "+err);
}
);
// Play audio
my_media.play();
// Pause after 10 seconds
setTimeout(function() {
my_media.stop();
}, 10000);
}
media.stopRecord
Smette di registrare un file audio.
media.stopRecord();
Piattaforme supportate
- Android
- iOS
- Windows Phone 7 e 8
- Windows
Esempio rapido
// Record audio
//
function recordAudio() {
var src = "myrecording.mp3";
var mediaRec = new Media(src,
// success callback
function() {
console.log("recordAudio():Audio Success");
},
// error callback
function(err) {
console.log("recordAudio():Audio Error: "+ err.code);
}
);
// Record audio
mediaRec.startRecord();
// Stop recording after 10 seconds
setTimeout(function() {
mediaRec.stopRecord();
}, 10000);
}
Tizen stranezze
- Tizen periferiche non supportano.
Errore MediaError
Un oggetto MediaError
viene restituito alla funzione di callback mediaError
quando si verifica un errore.
Proprietà
-
codice: uno dei codici di errore predefiniti elencati di seguito.
-
messaggio: un messaggio di errore che descrive i dettagli dell'errore.
Costanti
MediaError.MEDIA_ERR_ABORTED
= 1MediaError.MEDIA_ERR_NETWORK
= 2MediaError.MEDIA_ERR_DECODE
= 3MediaError.MEDIA_ERR_NONE_SUPPORTED
= 4