2015-06-07 3 views
1

Я работаю над звуковым проигрывателем и вам необходимо добавить pause() и play(). У него есть возможность подключиться к JButtons. Проблема в том, что я не могу импортировать пакет Media, поскольку он говорит, что пакет не существует. Я не могу найти его в Интернете, чтобы загрузить пакет. То же самое относится к классу AudioPlayer, который дает ошибку файла файла.package javax.media не существует

+0

Вы можете размещать полное имя пакета, который вы пытаетесь использовать? Является ли эта часть внешнего файла библиотеки/jar? Используете ли вы какие-либо инструменты сборки, такие как ant, maven или gradle? – JNYRanger

+0

В следующий раз используйте findJar: http://findjar.com/index.x?query=javax.media Это очень полезный сайт для такого поиска. –

ответ

0

Следующие четыре пакета решают вашу проблему. Они содержат большинство полезных методов работы с аудиоплеер.

import javazoom.jl.decoder.JavaLayerException; 
import javazoom.jl.player.AudioDevice; 
import javazoom.jl.player.FactoryRegistry; 
import javazoom.jl.player.advanced.AdvancedPlayer; 

Вы можете использовать .stop(), start(), .play() и т. Д. Из вышеперечисленных пакетов. Надеюсь, что это поможет.

+0

спасибо :) если бы вы могли сказать мне, что такое «jl», потому что у меня будет viva для этого. это позволит мне создавать объекты Player, AudioPlayer? Я также хочу функцию паузы. это позволит мне? – Masu

+0

теперь он дает мне ошибку, что эти пакеты не существуют – Masu

+0

Weel, он не включен в SDK по умолчанию, загрузите его с [JavaZoom] (http://www.javazoom.net). – Mordechai

0

Основываясь на ваш вопрос,

Вы можете загрузить вниз java.media

затем использовать

import javax.media.*; 

, то вы можете объявить как

Player audioplayer = Manager.createRealizedPlayer(file.toURI().toURL()); 

И

audioplayer.start(); и audioplayer.stop();

Здесь file означает, где сохранен исходный файл.

NB: Вы можете использовать JMF банку файл

Попробуйте как этот

try { 
       audioplayer = Manager.createRealizedPlayer(file.toURI().toURL()); 
      } catch (IOException ex) { 
       Logger.getLogger(MY_MP3_PLAYER.class.getName()).log(Level.SEVERE, null, ex); 
      } catch (NoPlayerException ex) { 
       Logger.getLogger(MY_MP3_PLAYER.class.getName()).log(Level.SEVERE, null, ex); 
      } catch (CannotRealizeException ex) { 
       Logger.getLogger(MY_MP3_PLAYER.class.getName()).log(Level.SEVERE, null, ex); 
      } 

ИЛИ Попробуйте примеры кода приведены ниже

import java.io.File; 
import java.io.IOException; 
import java.util.Scanner; 
import javax.media.CannotRealizeException; 
import javax.media.Manager; 
import javax.media.NoPlayerException; 
import javax.media.Player; 

public class Mp3Player { 

public static void main(String[] args) throws IOException, NoPlayerException, CannotRealizeException { 

    // Source of song file 
    File f=new File("your path in which mp3 file is saved"); 
    // Create a Player object that realizes the audio 
    final Player p=Manager.createRealizedPlayer(f.toURI().toURL()); 

    // Start the music 
     p.start(); 


    // Create a Scanner object for taking input from cmd 
     Scanner s=new Scanner(System.in); 


    // Read a line and store it in st 
     String st=s.nextLine(); 


    // If user types 's', stop the audio 
    if(st.equals("s")) 
    { 
    p.stop(); 
    } 
    } 

} 
+0

где угодно получить класс AudioPlayer? он предоставляет предопределенные методы play() pause(). – Masu

+0

перейдите по ссылке в ответ, загрузите JMF api. Класс AudioPlayer имеет метод play() и stop(). просто используйте, как в ответе – Anptk

+0

, когда я пишу, что Manager.createRealizedPlayer() строка .. это дает мне ошибку, что javax.media.Player не может быть преобразован в Player – Masu

0

вам понадобятся библиотеки JMF, вы можете получить их оттуда, для окон есть типограф:

JMF Download

+0

Я загрузил его, но все же я не могу использовать класс AudioPlayer в своем коде. – Masu

+0

какой IDE вы используете? вы импортируете внешнюю банку в путь сборки проекта? – AntJavaDev

+0

мой учитель ограничивает меня использованием cmd для компиляции, в то время как код написан в блокноте ++. Я не получил вторую часть вашего вопроса – Masu

0

Это поздний ответ, но вы можете использовать зависимость Maven:

<!-- https://mvnrepository.com/artifact/javax.media/jmf --> 
<dependency> 
    <groupId>javax.media</groupId> 
    <artifactId>jmf</artifactId> 
    <version>2.1.1e</version> 
</dependency> 
Смежные вопросы