509 lines
14 KiB
Markdown
Raw Normal View History

2016-05-16 17:19:54 -06:00
<!--
# license: Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-->
# cordova-plugin-media
[![Build Status](https://travis-ci.org/apache/cordova-plugin-media.svg)](https://travis-ci.org/apache/cordova-plugin-media)
Plugin daje możliwość nagrywania i odtwarzania plików audio na urządzeniu.
**Uwaga**: Obecna implementacja nie stosować się do specyfikacji W3C do przechwytywania mediów i jest dostarczane jedynie dla wygody. Przyszłej realizacji będą przylegać do najnowszych specyfikacji W3C i może potępiać bieżące interfejsów API.
Ten plugin definiuje globalny Konstruktor `Media`.
Chociaż w globalnym zasięgu, to nie dostępne dopiero po `deviceready` imprezie.
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(Media);
}
## Instalacja
cordova plugin add cordova-plugin-media
## Obsługiwane platformy
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 i 8
* Tizen
* Windows 8
* Windows
* Przeglądarka
## Windows Phone dziwactwa
* Tylko jeden plik mogą być zagrany w tył w czasie.
* Istnieją ścisłe ograniczenia na jak aplikacja współdziała z innymi mediami. Zobacz [Microsoft dokumentacji szczegóły](http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh184838(v=vs.92).aspx).
## Media
var media = new Media(src, mediaSuccess, [mediaError], [mediaStatus]);
### Parametry
* **src**: URI zawierający zawartość audio. *(DOMString)*
* **mediaSuccess**: (opcjonalne) wywołania zwrotnego, który wykonuje po `Media` obiektu została zakończona bieżącej gry, rekordu lub działania stop. *(Funkcja)*
* **mediaError**: (opcjonalne) wywołania zwrotnego, która wykonuje w przypadku wystąpienia błędu. *(Funkcja)*
* **mediaStatus**: (opcjonalne) wywołania zwrotnego, który wykonuje wskazać zmiany statusu. *(Funkcja)*
### Stałe
Poniższe stałe są zgłaszane jako parametr tylko do wywołania zwrotnego `mediaStatus`:
* `Media.MEDIA_NONE`= 0;
* `Media.MEDIA_STARTING`= 1;
* `Media.MEDIA_RUNNING`= 2;
* `Media.MEDIA_PAUSED`= 3;
* `Media.MEDIA_STOPPED`= 4;
### Metody
* `media.getCurrentPosition`: Zwraca bieżącej pozycji w pliku audio.
* `media.getDuration`: Zwraca czas trwania pliku audio.
* `media.play`: Rozpoczęcie lub wznowienie odtwarzania pliku audio.
* `media.pause`: Wstrzymanie odtwarzania pliku audio.
* `media.release`: Zwalnia zasoby audio system operacyjny.
* `media.seekTo`: Porusza się pozycji w pliku audio.
* `media.setVolume`: Ustaw głośność odtwarzania dźwięku.
* `media.startRecord`: Nagrywanie pliku audio.
* `media.stopRecord`: Zatrzymaj nagrywanie pliku audio.
* `media.stop`: Zatrzymania odtwarzania pliku audio.
### Parametry dodatkowe ReadOnly
* **stanowisko**: stanowisko w odtwarzaniu dźwięku, w kilka sekund.
* Nie jest automatycznie aktualizowana podczas odtwarzania; wywołanie `getCurrentPosition` aktualizacji.
* **czas**: trwania mediów, w kilka sekund.
## media.getCurrentPosition
Zwraca bieżącą pozycję w pliku audio. Również aktualizacje obiektu `Media` `Position` parametr.
media.getCurrentPosition(mediaSuccess, [mediaError]);
### Parametry
* **mediaSuccess**: wywołania zwrotnego, który jest przekazywany bieżącej pozycji w kilka sekund.
* **mediaError**: (opcjonalne) wywołanie zwrotne do wykonać, jeśli wystąpi błąd.
### Szybki przykład
// 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
Zwraca czas trwania pliku audio w kilka sekund. Jeśli czas trwania jest nieznane, to zwraca wartość -1.
media.getDuration();
### Szybki przykład
// 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
Wstrzymuje odtwarzanie pliku audio.
media.pause();
### Szybki przykład
// 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
Rozpoczyna się lub wznawia odtwarzanie pliku audio.
media.play();
### Szybki przykład
// 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();
}
### Dziwactwa iOS
* **numberOfLoops**: przekazać tę opcję, aby `play` Metoda, aby określić ile razy chcesz, pliku multimedialnego do gry, np.:
var myMedia = new Media("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3")
myMedia.play({ numberOfLoops: 2 })
* **playAudioWhenScreenIsLocked**: przekazać tę opcję, aby `play` Metoda, aby określić, czy chcesz umożliwić odtwarzanie, gdy ekran jest zablokowana. Jeśli zestaw `true` (wartość domyślna), stan przycisku Wycisz sprzętu jest ignorowane, np.:
var myMedia = new Media("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3")
myMedia.play({ playAudioWhenScreenIsLocked : false })
* **kolejność wyszukiwania plików**: gdy tylko nazwa pliku lub ścieżka prosta pod warunkiem, iOS wyszukiwania w `www` katalogu, pliku, a następnie w aplikacji `documents/tmp` katalogu:
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
Zwalnia zasoby audio system operacyjny. Jest to szczególnie ważne dla systemu Android, ponieważ istnieje skończona ilość podstawie OpenCore wystąpień do odtwarzania multimediów. Aplikacje powinny wywoływać funkcję `wydania` dla wszelkich zasobów `mediów`, że nie jest już potrzebna.
media.release();
### Szybki przykład
// Audio player
//
var my_media = new Media(src, onSuccess, onError);
my_media.play();
my_media.stop();
my_media.release();
## media.seekTo
Ustawia bieżącej pozycji w pliku audio.
media.seekTo(milliseconds);
### Parametry
* **milisekund**: stanowisko ustala pozycję odtwarzania w audio, w milisekundach.
### Szybki przykład
// 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);
### Jeżyna 10 dziwactwa
* Nie obsługiwane na urządzeniach BlackBerry OS w wersji 5.
## media.setVolume
Ustaw głośność pliku audio.
media.setVolume(volume);
### Parametry
* **wielkość**: wielkość ustawić odtwarzanie. Wartość musi być z zakresu od 0.0 do 1.0.
### Obsługiwane platformy
* Android
* iOS
### Szybki przykład
// 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
Rozpoczyna nagrywanie pliku audio.
media.startRecord();
### Obsługiwane platformy
* Android
* iOS
* Windows Phone 7 i 8
* Windows
### Szybki przykład
// 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();
}
### Dziwactwa Androida
* Urządzenia z systemem Android nagrywanie dźwięku w formacie Adaptive Multi-Rate. Określony plik powinien kończyć się rozszerzeniem *AMR* .
* Głośności sprzętu są okablowane do wielkości nośnika, a wszelkie obiekty multimedialne są żywe. Po raz ostatni Media utworzony obiekt ma `release()` wezwał go, głośności przywrócić ich domyślne zachowanie. Kontrole są również reset nawigacji strony, jak to wszystkie obiekty multimedialne.
### Dziwactwa iOS
* iOS tylko rekordy do plików typu *.wav* i zwraca błąd, jeśli nazwa pliku rozszerzenie jest nie prawidłowe.
* Jeśli nie podano pełną ścieżkę, nagrywanie jest umieszczony w aplikacji `documents/tmp` katalogu. To mogą być dostępne za pośrednictwem `File` za pomocą interfejsu API `LocalFileSystem.TEMPORARY` . Każdy podkatalog określony w rekordowym czasie musi już istnieć.
* Pliki mogą być zapisywane i grał z powrotem za pomocą dokumentów URI:
var myMedia = new Media("documents://beer.mp3")
### Windows dziwactwa
* Urządzenia systemu Windows może używać MP3, M4A i formaty WMA rejestrowane audio. Jednak w większości przypadków nie jest możliwe wykorzystanie MP3 do nagrywania dźwięku na urządzenia *Windows Phone 8.1* , ponieważ jest enkoder MP3 [nie wysłane z Windows Phone](https://msdn.microsoft.com/en-us/library/windows/apps/windows.media.mediaproperties.mediaencodingprofile.createmp3.aspx).
* Jeśli nie podano pełną ścieżkę, nagrywanie jest umieszczony w katalogu AppData/temp. To mogą być dostępne za pośrednictwem `Plik` Za pomocą interfejsu API `LocalFileSystem.TEMPORARY` lub "ms-appdata: temp / / / /<filename>"URI.
* Każdy podkatalog określony w rekordowym czasie musi już istnieć.
### Dziwactwa Tizen
* Nie obsługiwane na Tizen urządzenia.
## media.stop
Zatrzymuje odtwarzanie pliku audio.
media.stop();
### Szybki przykład
// 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
Zatrzymuje nagrywanie pliku audio.
media.stopRecord();
### Obsługiwane platformy
* Android
* iOS
* Windows Phone 7 i 8
* Windows
### Szybki przykład
// 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);
}
### Dziwactwa Tizen
* Nie obsługiwane na Tizen urządzenia.
## MediaError
Gdy wystąpi błąd, funkcja wywołania zwrotnego `mediaError` zwracany jest obiekt `MediaError`.
### Właściwości
* **Kod**: jeden z kodów błędów wstępnie zdefiniowanych poniżej.
* **wiadomość**: komunikat o błędzie, opisując szczegóły błędu.
### Stałe
* `MediaError.MEDIA_ERR_ABORTED`= 1
* `MediaError.MEDIA_ERR_NETWORK`= 2
* `MediaError.MEDIA_ERR_DECODE`= 3
* `MediaError.MEDIA_ERR_NONE_SUPPORTED`= 4