Tag: mp3

用Java编辑mp3文件(ID3)

我是编程新手,所以我希望你能帮助我:) 最近,我一直在尝试写一些可以改变mp3文件的id3标签的东西。 我设法编写代码很容易获得这些标签,但我不知道如何编写代码更改标签。 我认为可能没有简单的解决方案,所以我决定尝试一些库。 这可能是我的错,但它们都不起作用.. 无论如何,我的问题是:如果它很简单 – 如何做我自己的id3标签获取代码? 如果没有,是否有任何你可以推荐的图书馆,你确信它们有效,所以我可以花几个小时尝试自己运行它:)?

如何在Android中复用mp3和mp4文件

问题陈述:我正在设计一个Android应用程序,我必须从用户的图库中获取图像,将它们组合成一个video文件并添加背景音乐。 我使用jcodec库使用我的图像资源创建mp4video文件(我知道如何从图库中获取图像并在ImageViews中显示它们并从中创建位图)。 我有一个mp4文件。 现在,我想用mp3文件在其中添加背景音乐。 请有人帮我这个吗? 我无法使用jcodec或至少添加它我不知道该怎么做。 我可以使用任何可以完成这项工作的库,但它应该是Java,因为我不想使用ndk。 我尝试使用ffmpeg和opencv for java但它增加了我的应用程序的大小超过15MB并且jcodec已经完成了制作mp4文件的一半工作。 我可以给你我用来制作mp4文件的代码。 提前致谢。

加入MP3文件 – 将Java代码转换为Android

我正在尝试制作一个可以加入2个MP3文件并将其保存在android SD卡上的程序。 我有Java代码工作,但当我尝试将其转换为Android时,它会产生一些错误。 在Java代码中写道如下。 它的工作完美。 import java.io.*; public class TuneDoorJava { public static void main(String[] args) throws FileNotFoundException, IOException { FileInputStream fistream1 = new FileInputStream(“F:\\aa.mp3”); // first source file FileInputStream fistream2 = new FileInputStream(“F:\\bb.mp3”);//second source file SequenceInputStream sistream = new SequenceInputStream(fistream1, fistream2); FileOutputStream fostream = new FileOutputStream(“F:\\final.mp3”);//destinationfile int temp; while( ( temp = sistream.read() ) […]

Java检测音频文件(mp3)

我有这个代码读取一个mp3文件 import java.io.File; import java.io.IOException; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.UnsupportedAudioFileException; public class Sound { public static void main(String[] args) { File sampleFile = new File(“test.mp3”); try { AudioSystem.getAudioFileFormat(sampleFile); } catch (UnsupportedAudioFileException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 这里的问题是它返回文件不支持exception,这里的文件是一个mp3文件。 Java不支持mp3文件? 如果是这样,其他人validation音频文件是什么?(如ogg,wav)

MP3不会与JMF流式传输

基本思想是访问.mp3文件并通过RTP流将其发送给其他想要播放该歌曲的客户端。 这是RTPServer.java,我在网上找到并根据自己的喜好对其进行了修改。 package server; import java.net.InetAddress; import javax.media.rtp.*; import javax.media.rtp.rtcp.*; import javax.media.*; import javax.media.protocol.*; import javax.media.control.*; public class RTPServer implements ControllerListener, Runnable { private boolean realized = false; private boolean configured = false; private String ipAddress; Processor p; MediaLocator src; public static void main (String[] args) { RTPServer rtp = new RTPServer(“192.168.1.101”, “04 – Blue.mp3”); […]

以编程方式创建MP3

我正在尝试创建自己的MP3音频文件。 我该怎么做呢? File mySong = new File(“generated song.mp3”); FileOutputStream song = new FileOutputStream(mySong); for (int n = 0; n < 3000; n++){ song.write(n % 256); } song.close(); 我尝试了上面的代码,但是当我尝试播放时,Windows给了我一个错误。 我想必须有一些开头和结尾的字节序列,我需要写入文件,以便正确解码。 那么,我怎么能生成自己的.MP3文件?

Java Jlayer Mp3播放器 – 如何重复和停止歌曲

我很抱歉我的英语不好:)我对mp 3播放器有问题。 我正在使用jLayer。 这是我的代码 private void formWindowOpened(java.awt.event.WindowEvent evt) { new Thread (){ public void run(){ try { Player prehravac; FileInputStream buff = new FileInputStream(Okno.filename); prehravac = new Player(buff); prehravac.play(); if (prehravac != null) { prehravac.play(); } } catch(Exception e) { } } }.start(); } 在我的应用程序中,我需要从头到尾播放歌曲。 所以当歌曲结束时我需要再次启动它,当窗口关闭时我想要停止这首歌…… 有人可以帮我吗? :)我试着做了2天……我不知道如何在不同的线程中停止一些东西…谢谢你的帮助:)

语音到文本:单独播放MP3信息并检索单词

我有很少的MP3文件是演讲。 我之前使用过Android Speech to Text,所以我知道它可以存储口语。 有什么方法可以从MP3中获取所说的单词并将其显示在EditText吗? 我正在考虑默默播放MP3并识别单词,但不知道如何做到这一点。 我正在使用谷歌语音引擎。

MP3:对于任何给定的字节位置,以毫秒为单位获取位置的方法?

我创建了一个servlet,它从客户端请求的任何给定字节位置开始返回一个流(来自MP3文件)。 这允许客户端在任何给定的字节位置立即开始播放,而无需进行任何本地搜索。 现在,我有一个可视化进度的滑块。 我正在使用当前字节位置来更新滑块。 但是,我还想在几秒钟内显示当前位置。 这要求服务器可以将当前位置(以字节为单位)“转换”为以毫秒为单位的位置。 然后,服务器可以以毫秒为单位提供流开始位置作为响应头。 有没有人有关于如何计算当前位置的经验,以字节为单位到毫秒? UPDATE 从评论中可以清楚地看出,没有精确的方法可以将转换字节转换为毫秒,反之亦然,无需将MP3文件解码到该点(以毫秒或字节为单位),然后确定已读取的字节数或毫秒数已经玩过了。 但是,考虑到服务器,例如100个用户同时请求文件,这种方法显然不会表现得太好。 然后,服务器必须将MP3文件解码到请求的位置,然后从该点返回流。 我选择了与性能交换精度,并采用了一种方法,它给了我近似的位置,这对于一个只是为了播放音轨的播放器来说已经足够好了(而不是将音频与其他音源同步到毫秒级)。 我所做的是玩家(在客户端)现在只关心毫秒(MS)。 也就是说,进度条的当前值和最大值是MS,而不是第一次的字节。 要从任何给定位置开始播放,客户端请求服务器(servlet)提供从MS中任何给定位置开始的音频流。 servlet使用JAudioTagger获取有关文件的详细信息,然后对MS位置对应的字节位置进行近似计算。 我测试过它,它与CBR(恒定比特率)文件配合得很好。 该方法不适用于VBR(可变比特率)文件,因为帧大小可能会有所不同。 请注意,这只是一个播放音乐文件的播放器。 它不打算将音频与其他媒体同步到MS。 下面提供了从MS转换为字节的代码剪切。 更新(2012年7月3日) servlet已经使用下面的代码运行了很长一段时间,而且工作得非常好。 已经播放了数以千计的MP3,从ms到字节的近似值可以正常工作。 更新(2017年1月3日) servlet仍然使用完全相同的代码运行,并且已经很好地播放了数十万个MP3。 在制作过程中,没有任何关于播放和时间的投诉。 /** * Returns the approximate byte position for any given position in * milliseconds. * * http://www.java2s.com/Open-Source/Android/Mp3/needletagger/org/jaudiotagger/audio/mp3/MP3AudioHeader.java.htm * http://www.autohotkey.com/forum/topic29420.html * * @param file the File for which […]

使用JLayer时在Java中更改卷

我正在使用JLayer播放来自互联网的mp3数据输入流。 如何更改输出的音量? 我正在使用此代码来播放它: URL u = new URL(s); URLConnection conn = u.openConnection(); conn.setConnectTimeout(Searcher.timeoutms); conn.setReadTimeout(Searcher.timeoutms); bitstream = new Bitstream(conn.getInputStream()/*new FileInputStream(quick_file)*/); System.out.println(bitstream); decoder = new Decoder(); decoder.setEqualizer(equalizer); audio = FactoryRegistry.systemRegistry().createAudioDevice(); audio.open(decoder); for(int i = quick_positions[0]; i > 0; i–){ Header h = bitstream.readFrame(); if (h == null){ return; } bitstream.closeFrame();