Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 36

Автор Майкл ΠœΠΎΡ€Ρ€ΠΈΡΠΎΠ½

Π’ ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ Π˜Π³Ρ€ΠΎΠΊΠ°

Помимо Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π²ΡƒΠΊΠΈ, хранящиСся Π² JAR-Ρ„Π°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ Π² сСтСвом рСсурсС, Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚ΡŒ Π·Π²ΡƒΠΊΠΈ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° записСй. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ записСй – это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠΈΠ΄Π»Π΅Ρ‚ для доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ ΠΈΡ… хранСния. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΡ‰Π΅ всСго для хранСния Π·Π²ΡƒΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JAR-Ρ„Π°ΠΉΠ», Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ примСняСтся Ρ‡Π°Ρ‰Π΅ всСго.

ВоспроизвСдСниС Π·Π²ΡƒΠΊΠ° ΠΈΠ· JAR-Ρ„Π°ΠΉΠ»Π°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π·Π²ΡƒΠΊΡƒ, хранящСмуся Π² JAR-Ρ„Π°ΠΉΠ»Π΅ ΠΌΠΈΠ΄Π»Π΅Ρ‚Π°, сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² JAR-Π°Ρ€Ρ…ΠΈΠ² Π½Π° этапС сборки ΠΌΠΈΠ΄Π»Π΅Ρ‚Π°. Если Π²Ρ‹ помСститС Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ res Π²Π½ΡƒΡ‚Ρ€ΠΈ основной ΠΏΠ°ΠΏΠΊΠΈ ΠΌΠΈΠ΄Π»Π΅Ρ‚Π°, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² JAR-Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈ сборкС ΠΌΠΈΠ΄Π»Π΅Ρ‚Π° инструмСнтом KToolbar. Когда Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» находится Π² Π°Ρ€Ρ…ΠΈΠ²Π΅, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Π΅Π³ΠΎ воспроизвСдСния.

Π§Ρ‚ΠΎΠ±Ρ‹ воспроизвСсти Π·Π²ΡƒΠΊ ΠΈΠ· JAR-Ρ„Π°ΠΉΠ»Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ основу для создания проигрыватСля. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ простой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ лишь ΠΏΠ°Ρ€Ρƒ строк ΠΊΠΎΠ΄Π°. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ воспроизводит Π·Π²ΡƒΠΊ «окончания ΠΈΠ³Ρ€Ρ‹Β» ΠΈΠ· JAR-Ρ„Π°ΠΉΠ»Π°:

try {

Player gameoverPlayer;

InputStream is = getClass().getResourseAsStream("GameOver.wav");

gameoverPlayer = Manager.createPlayer(is, "audio/x-wav"); //MIME-Ρ‚ΠΈΠΏ auto/X ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ΅Π½ – ΠΎΠ½ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π²ΠΎΠ»Π½ΠΎΠ²ΠΎΠΉ Π·Π²ΡƒΠΊ

gameoverPlayer.prefetch();

gameoverPlayer.start();

}

catch(IOException ioe) {

}

catch(MediaException e) {

}

Π‘Π½Π°Ρ‡Π°Π»Π° создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ InputStream, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ getResourseAsStream пСрСдаСтся имя Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызываСтся классом, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ getClass(). ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ создан, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Manager.createPlayer(), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ MIME-Ρ‚ΠΈΠΏ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ проигрыватСля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π·Π²ΡƒΠΊΠ°. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π·Π²ΡƒΠΊ воспроизводится с минимальной Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ, вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ prefetch(). НаконСц, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ воспроизвСдСниС, вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ start(). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²Ρ‹ производятся Π² конструкции try-catch. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ start() ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Однако Ссли Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° Π·Π²ΡƒΠΊ воспроизводится, Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Π½Π°Ρ‡Π½Π΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π·Π°Π½ΠΎΠ²ΠΎ. Для этого примСняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ setMediaTime(), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° слСдуСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ 0. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ воспроизвСдСниС ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ с Π½Π°Ρ‡Π°Π»Π°:

gameoverPlayer.setMediaTime(0);

...

Π‘ΠΎΠ²Π΅Ρ‚ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ

ΠœΠ΅Ρ‚ΠΎΠ΄ setMediaPlayer() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для пСрСзапуска воспроизвСдСния Π»ΡŽΠ±Ρ‹Ρ… Π·Π²ΡƒΠΊΠΎΠ², ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ интСрфСйса Player, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ MP3-Π·Π²ΡƒΠΊΠΈ ΠΈ MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΡƒ.

Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ воспроизвСдСния рСсурса, Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² getDuration() ΠΈ getMediaType() Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Оба ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ врСмя Π² миллисСкундах. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ – врСмя ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° воспроизвСдСния.

Когда Π²Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ со Π·Π²ΡƒΠΊΠΎΠ²Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π²Π°ΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹Π΅ рСсурсы, Π²Ρ‹Π·Π²Π°Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ close():

gameoverPlayer.close();

Π’ΠΎΡ‚ ΠΈ всС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для воспроизвСдСния Π·Π²ΡƒΠΊΠΎΠ², хранящихся Π² JAR-Ρ„Π°ΠΉΠ»Π΅. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ рСкомСндуСтся для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π²ΡƒΠΊΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ достаточно быстро ΠΈ с минимальной Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ.

ВоспроизвСдСниС Π·Π²ΡƒΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· URL

Π’ рядС случаСв ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ воспроизвСсти Π·Π²ΡƒΠΊ, хранящийся Π² сСти. НапримСр, Π² вашСй ΠΈΠ³Ρ€Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ динамичСски создаваСмыС Π·Π²ΡƒΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ с сСтСвого сСрвСра. Π’ΠΎΠ³Π΄Π° Π²Π°ΠΌ всС Ρ€Π°Π²Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ URL Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

try {

Player gameoverPlayer = Manager.createPlayer

("http://yourserver/GameOver.wav");

gameoverPlayer.prefetch();

gameoverPlayer.start();

}

catch(IOException ioe) {

}

catch(MediaException e) {

}

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ использовании Ρ„Π°ΠΉΠ»Π°, хранящСгося Π² JAR-Π°Ρ€Ρ…ΠΈΠ²Π΅, Π½Π΅Ρ‚ нСобходимости ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ входящий ΠΏΠΎΡ‚ΠΎΠΊ. Но вмСсто этого, создавая ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ URL Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ создан, воспроизвСдСниС Π·Π²ΡƒΠΊΠ° Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ использовали Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ· JAR-Π°Ρ€Ρ…ΠΈΠ²Π°.

...

Π’ ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ Π˜Π³Ρ€ΠΎΠΊΠ°

Π—Π²ΡƒΠΊ, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΈΠ· JAR-Ρ„Π°ΠΉΠ»Π°, становится доступным для воспроизвСдСния Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ воспроизвСдСния Ρ„Π°ΠΉΠ»Π°, хранящСгося ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ URL, ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΎΡ‚ скорости соСдинСния.

ΠŸΠΎΡ‡ΡƒΠ²ΡΡ‚Π²ΡƒΠΉΡ‚Π΅ ΠΌΡƒΠ·Ρ‹ΠΊΡƒ с MIDI

Musical Instrument Digital Interface (Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ интСрфСйс ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… инструмСнтов) ΠΈΠ»ΠΈ MIDI появился Π² Π½Π°Ρ‡Π°Π»Π΅ 80-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ стандартный интСрфСйс ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ инструмСнтами. Π’ Ρ‚ΠΎ врСмя основным ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ MIDI Π±Ρ‹Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ для управлСния синтСзатором. ΠšΠ»Π°Π²ΠΈΡˆΠ½Ρ‹Π΅ синтСзаторы состоят ΠΈΠ· Π΄Π²ΡƒΡ… основных частСй: ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ синтСзатора. ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ: какая Π½ΠΎΡ‚Π° Π±Ρ‹Π»Π° Π½Π°ΠΆΠ°Ρ‚Π° ΠΈ насколько сильно Π½Π°ΠΆΠ°Ρ‚Π° клавиша. А синтСзатор ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π²ΡƒΠΊΠΎΠ² Π½Π° основС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΎΡ‚ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ исходной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ MIDI Π±Ρ‹Π»Π° стандартизация контроля синтСзатора с использованиСм ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ MIDI стал ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ большоС число Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… инструмСнтов ΠΈ устройств, Π½ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°/синтСзатор ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ для MIDI ΠΏΡ€ΠΈ использовании Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π²ΠΎΠ»Π½ΠΎΠ²Ρ‹Π΅ Π·Π²ΡƒΠΊΠΈ, MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΠ° – это Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ сигнал. Однако Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π·Π²ΡƒΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π°ΠΏΠΏΡ€ΠΎΠΊΡΠΈΠΌΠ°Ρ†ΠΈΡŽ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Π²ΠΎΠ»Π½Ρ‹, MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΠ° состоит ΠΈΠ· Π½ΠΎΡ‚. Π˜Π½Π°Ρ‡Π΅ говоря, MIDI-пСсня состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π½ΠΎΡ‚. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ MIDI-пСсню Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ мСлодию Π½Π° Π½ΠΎΡ‚Π½ΠΎΠΌ листС. Вакая Π·Π°Π΄Π°Ρ‡Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π½ΠΎ ΠΎΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΠ°, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΠ° состоит ΠΈΠ· Π½ΠΎΡ‚, Π° Π½Π΅ ΠΈΠ· Π²ΠΎΠ»Π½, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΅Π΅ воспроизвСдСния зависит ΠΎΡ‚ устройства, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для проигрывания ΠΌΡƒΠ·Ρ‹ΠΊΠΈ. Π’ случаС ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² MIDI-синтСзатор ΠΈΠΌΠ΅Π΅Ρ‚ вСсьма ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ способности ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с синтСзаторами Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ².

Π― ΡƒΠΆΠ΅ нСсколько Ρ€Π°Π· упомянул Ρ‚Π΅Ρ€ΠΌΠΈΠ½ MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΠ°, Π½ΠΎ Π½Π΅ объяснил, ΠΊΠ°ΠΊ ΠΎΠ½Π° хранится ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½Π΅ΠΉ. Подобно Π²ΠΎΠ»Π½ΠΎΠ²Ρ‹ΠΌ Π·Π²ΡƒΠΊΠ°ΠΌ, MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΠ° хранится Π² Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅. mid. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ wav-Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ„Π°ΠΉΠ»Ρ‹ MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΠΈ Π½Π΅ Ρ‚Π°ΠΊ Π²Π΅Π»ΠΈΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½ΠΎΡ‚Ρ‹ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ мСста. Подобно wav-Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ проигрыватСля, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Windows Media Player (рис. 9.2). Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π²ΠΎΠ»Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², созданиС MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ ΠΈ особого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Рис. 9.2. Для воспроизвСдСния MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Windows Media Player

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ MIDI-Ρ„Π°ΠΉΠ»Ρ‹, ΠΎΡ‚ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅ для Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ оформлСния ΠΈΠ³Ρ€, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Если Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎ для ΠΎΡ†Π΅Π½ΠΊΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° вашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Π² ΠΈΠ³Ρ€Ρƒ.

ВоспроизвСдСниС MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΠΈ Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€Π°Ρ…

Благодаря интСрфСйсу Player ΠΈΠ· MIDP 2.0 Media API ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ wav-Ρ„Π°ΠΉΠ»Π°ΠΌ MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΡƒ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ воспроизвСдСния MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΠΈ нСсколько отличаСтся ΠΎΡ‚ процСсса воспроизвСдСния Π²ΠΎΠ»Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

ВоспроизвСдСниС MIDI-ΠΌΡƒΠ·Ρ‹ΠΊΠΈ ΠΈΠ· JAR-Ρ„Π°ΠΉΠ»Π°

Π§Ρ‚ΠΎΠ±Ρ‹ воспроизвСсти MIDI-пСсню ΠΈΠ· JAR-Ρ„Π°ΠΉΠ»Π°, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ входящий ΠΏΠΎΡ‚ΠΎΠΊ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ воспроизвСдСнии ΠΈΠ· JAR-Π°Ρ€Ρ…ΠΈΠ²Π° Π²ΠΎΠ»Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ создали входящий ΠΏΠΎΡ‚ΠΎΠΊ MIDI-Ρ„Π°ΠΉΠ»Π°, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания проигрыватСля, послС Ρ‡Π΅Π³ΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ MIDI-Ρ„Π°ΠΉΠ»Π° ΠΈΠ· JAR-Π°Ρ€Ρ…ΠΈΠ²Π°:

try {

Player musicPlayer;

InputStream is = getClass().getResourseStream("Music.mid");

musicPlayer = Manager.createPlayer(is, "audio/midi"); //ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для воспроизвСдСния MIDI-Ρ„Π°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΎΠΉ MIME-Ρ‚ΠΈΠΏ

musicPlayer.prefetch();

musicPlayer.start();

}

catch (IOException ioe)

}

catch (MediaException e) {

}

ЕдинствСнная Ρ…ΠΈΡ‚Ρ€ΠΎΡΡ‚ΡŒ Π² этом ΠΊΠΎΠ΄Π΅ – это MIME-спСцификация воспроизводимого MIDI-Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈ создании проигрыватСля. Помимо этого, вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ prefetch(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ start() запускаСт воспроизвСдСниС Π·Π²ΡƒΠΊΠ°.

...

Π‘ΠΎΠ²Π΅Ρ‚ Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ

MIDP 2.0 Media API Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ воспроизвСдСниС MP3-ΠΌΡƒΠ·Ρ‹ΠΊΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈ воспроизвСсти MP3-пСсню, создайтС входящий ΠΏΠΎΡ‚ΠΎΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² случаС воспроизвСдСния MIDI-пСсни ΠΈΠ»ΠΈ Π²ΠΎΠ»Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ имя ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ MIME-Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°, audio/mpeg.

Говоря ΠΎ воспроизвСдСнии ΠΌΡƒΠ·Ρ‹ΠΊΠΈ, я упустил ΠΎΠ΄Π½Ρƒ Π΄Π΅Ρ‚Π°Π»ΡŒ. Π― имСю Π² Π²ΠΈΠ΄Ρƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Ρ‹ воспроизвСдСния. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Ρ„Π°ΠΉΠ» воспроизводится ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Если трСбуСтся Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ мСлодию снова ΠΈ снова, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ большоС число ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠ²:

MusicPlayer.setLoopCount(-1);

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² этот ΠΌΠ΅Ρ‚ΠΎΠ΄ пСрСдаСтся число ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΎΠ² воспроизвСдСния ΠΌΡƒΠ·Ρ‹ΠΊΠΈ, Ссли Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΡ‚Π΅ -1, Ρ‚ΠΎ мСлодия Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ бСсконСчно, ΠΈΠ»ΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ stop().