Tag: mp3

在java问题中使用JLayer在线程中只播放一个mp3文件

我正在使用带有GUI的Java编写的音频播放器。 为了播放mp3文件,我从javazoom中选择了JLayer库,因为我看到它非常受欢迎并且使用过。 我制作了GUI,设法播放播放列表中选定的mp3文件。 我的问题是,如果我在播放按钮或播放列表中的文件上多次按下它会开始播放歌曲多次,因为我按它并且我想在同一个线程中播放它; 如果我再次按下播放按钮,我想再次播放,而不是在当前播放时播放同一首歌。 这是播放mp3文件的代码: public class Playing implements Runnable{ private Player mp3Player; private Thread playerThread; public void createPlayer(FileInputStream file) throws JavaLayerException{ mp3Player = new Player(file); playerThread = new Thread(this); playerThread.start(); } @Override public void run(){ try { mp3Player.play(); } catch (JavaLayerException ex) { Logger.getLogger(Playing.class.getName()).log(Level.SEVERE, null, ex); } } 这是我播放按钮的方法: public void createPlayButton(){ play […]

将声音文件转换为具有特定比特率的wav并剪切文件的特定部分

我有一些声音文件(基本上是mp3,但它可以是任何比特率)。 我需要方法将输入文件的指定部分(不超过40秒)提取到8位单声道wav输出。 我很感激选择java库的任何帮助或建议。

使用Java从URL获取声音

我正在学习英语,我想开发一个软件来帮助我发音。 有一个名为HowJSay的网站,如果你进入这里: http : //www.howjsay.com/index.php ?word = car immediatly你会听到汽车这个词的发音。 我想开发一个JAVA软件,可以播放这个声音,而无需进入网站=] 我试过这个,但不起作用= / public static void main(String[] args) throws Exception { URL url = new URL(“http://www.howjsay.com/index.php?word=car”); url.openConnection(); AudioStream as = new AudioStream(url.openStream()); AudioPlayer.player.start(as); AudioPlayer.player.stop(as); } 有任何想法吗? 请。

Android解码mp3与MediaCodec。 不要使用MediaExtractor

我想使用MediaCodec解码mp3。 但是,我不想使用MediaExtractor。 因为我想从mp3获取元数据。 冰冷(Shoutcast)流也被考虑在内。 我尝试通过改进MediaExtractor的示例来编写代码来解码来自FileInputStream的mp3文件。 但是解码导致错误是不可能的。 package com.test; import android.app.Activity; import android.media.AudioFormat; import android.media.AudioManager; import android.media.AudioTrack; import android.media.MediaCodec; import android.media.MediaCodec.BufferInfo; import android.media.MediaFormat; import android.os.Bundle; import android.os.Environment; import android.util.Log; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.ByteBuffer; import com.test.R; public class AndroidTestActivity extends Activity { private static final String TAG = “TAG”; @Override protected void onCreate(Bundle […]

如何将JFXPanel添加到现有的swing应用程序中

我非常想知道如何将我的JFXPanel(这是一个mp3播放器)集成到现有的Swing应用程序中 – 这是一个添加了几个不同JPanel的JFrame。 我是JavaFX的完全菜鸟,它与swing非常不同。 我能够得到下面的代码来运行并做我想要的。 它将播放我所包含的目录中的mp3文件。这是来自某人编写的样本的代码。 我的问题是这段代码创建了JFrame,主要方法以及此代码中的所有内容。 我有一个已经制作的swing应用程序,我只想添加一个具有以下function的JFXPanel。 JavaFX中有许多新方法我很困惑,不知道如何使用或放在我的Swing应用程序中。 例如invokeLater runLater和initAndShowGUI。 我知道这可能是一个令人烦恼的问题,很难从这样的菜鸟那里回答。 我有一个项目将于明天晚上午夜到期,我真的希望将其作为应用程序的一部分实现。 我们没有在课堂上学习JavaFX,我不知道这对我来说是个棘手的问题。 package application; import java.io.*; import java.util.*; import javafx.application.Platform; import javafx.beans.value.*; import javafx.embed.swing.JFXPanel; import javafx.event.*; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.scene.media.*; import javafx.util.Duration; import javax.swing.*; /** Example of playing all mp3 audio files in a given directory * […]

用Java流式传输音频/广播?

我一直在寻找整个网络,并尝试了一些不同的东西,但我无法弄清楚如何在java中播放流式音频 – 这对我现在开发的应用程序至关重要。 这是一台收音机。 我已经为网络编写了它,但我想要一个桌面版本,我虽然java可能是要走的路。 流看起来像这样(主要是MP3): http : //lyd.nrk.no/nrk_radio_mp3_mp3_h (来自NRK MP3的例子 – 挪威的无线电频道)。 那么我应该从哪里开始呢? 我已经尝试了JMF,FMJ和许多其他东西。 我只想流音频..我很感谢所有答案,请帮帮我!

JavaFX MediaPlayer – 音乐在10秒后停止

这是代码,就像标题说音乐在10秒后停止,我在vlc或其他程序中正常播放文件,它持续超过5分钟。 public void music(){ String bip = “src/data/fjordmusic.mp3”; Media hit = new Media(Paths.get(bip).toUri().toString()); MediaPlayer mediaPlayer = new MediaPlayer(hit); mediaPlayer.play(); }

如何跟踪音频播放位置?

我创建了一个线程,通过将其转换为字节数组来播放Java中的mp3文件。 我想知道我是否可以在播放mp3时跟踪当前的播放位置。 首先,我设置了我的音乐流: try { AudioInputStream in = AudioSystem.getAudioInputStream(file); musicInputStream = AudioSystem.getAudioInputStream(MUSIC_FORMAT, in); DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class, MUSIC_FORMAT); musicDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo); musicDataLine.open(MUSIC_FORMAT); musicDataLine.start(); startMusicThread(); } catch(Exception e) { e.printStackTrace(); } 接下来,我的音乐线程如下所示: private class MusicThread extends Thread { byte musicBuffer[] = new byte[BUFFER_SIZE]; public void run() { try { int musicCount = 0; while(writeOutput){ […]

如何判断MediaPlayer是否正在播放?

如何判断javafx.scene.media.MediaPlayer是否正在播放? 最好不要对构建路径进行任何外部导入或添加。 如果这是不可能的,那么我可以使用任何自包含的库吗? 我正在ARM CPU上安装此软件,所以我试图使这段代码尽可能简化。 我只会使用这个框架播放音乐文件,主要是MP3。 有关如何判断玩家是否正在使用此库或其他库播放音乐的任何建议?

设置MP3 ID3v2标签中的歌词

我想在Android应用程序中为一个mp3写歌词。我找到了一个java库,用于读取mp3文件和读取/操作ID3标签(ID3v1和ID3v2.2到ID3v2.4),名为mp3agic 。 我修改了mp3agic来编写ID3v2标签的歌词标签,编写标签: USLT 。 在维基百科中找到 在Android应用程序示例中,我修改了MP3的艺术家,专辑,标题,流派,歌词和评论。 除歌词外,所有标签都被正确修改。 PowerAMP用于validation修改后的MP3文件, PowerAMP无法在MP3中找到歌词。 如果有人熟悉这个库,这里是我从AbstractID3v2Tag.java修改的代码: //define lyric tag for id3v2 public static final String ID_TEXT_LYRICS = “USLT”; //get the lyrics from the tag public String getLyrics() { ID3v2TextFrameData frameData; if (obseleteFormat) return null; else frameData = extractTextFrameData(ID_TEXT_LYRICS); if (frameData != null && frameData.getText() != null) return frameData.getText().toString(); return null; […]