java音频播放

package com.hongyuan.test;

import java.io.File;
import java.io.IOException;

import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.UnsupportedAudioFileException;

public class MusicTest {http://www.huiyi8.com/yinxiao/音效下载

public static final String MUSIC_FILE = "相逢一笑.wav";

public static void main(String[] args) throws LineUnavailableException,
UnsupportedAudioFileException, IOException {

// 获取音频输入流
AudioInputStream audioInputStream = AudioSystem
.getAudioInputStream(new File(MUSIC_FILE));
// 获取音频编码对象
AudioFormat audioFormat = audioInputStream.getFormat();

// 设置数据输入
DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class,
audioFormat, AudioSystem.NOT_SPECIFIED);
SourceDataLine sourceDataLine = (SourceDataLine) AudioSystem
.getLine(dataLineInfo);
sourceDataLine.open(audioFormat);
sourceDataLine.start();

/*
* 从输入流中读取数据发送到混音器
*/
int count;
byte tempBuffer[] = new byte[1024];
while ((count = audioInputStream.read(tempBuffer, 0, tempBuffer.length)) != -1) {
if (count > 0) {
sourceDataLine.write(tempBuffer, 0, count);
}
}

// 清空数据缓冲,并关闭输入
sourceDataLine.drain();
sourceDataLine.close();

java音频播放

时间: 2024-11-03 05:43:54

java音频播放的相关文章

Android通过意图使用内置的音频播放器

如果实现一个音频文件的播放,那么在应用程序中提供播放音频文件功能的最简单的方式是利用内置的"Music(音乐)"应用程序的功能--即使用系统自带的或已安装好的音乐播放器来播放指定的音频文件. 本例比较简单,下面直接给出源代码: 布局文件activity_main: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/

求教,是否直接可以调用android的libmedia.so库进行音频播放

问题描述 问题: 在C++代码中是否可以调用android系统的libmedia.so, 我用C++写了一个测试程序,调用了libmedia.so中mediaplayer.cpp中的方法进行音频播放,可以通过编译,也可以在android系统的机顶盒中执行,但是prepare()方法一直被阻塞,求大神指点该如何解决啊,给点思路好吗?以下是测试代码: #include <stdio.h> #include <stdlib.h> #include <mediaplayer.h>

Android音频文件浏览+音频播放

该Demo运行后,会显示所有你sd卡上的音乐文件列表, 并可以点击列表选择某一首歌曲进行播放. 运行效果: 点击download出现: 然后点击歌曲调用系统播放器播放. 源代码: activity_audio_browser.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tool

Android 音频播放的可视化实现

最近开发的小应用想实现音频播放的可视化,看了一下要用到快速傅里叶变换的知识!不会要去翻高等代数的书复习吧!!! 幸好有大大已经写好的fft for Java 的开源库,生活在Java的世界真实好啊! 先把文章转过来备份着,接下来的时间就好好研究一下怎么应用到自己的的project里面. http://www.jb51.net/article/32887.htm fft 4 Java 的开源包在这里下载:www.netlib.org/fftpack/jfftpack.tgz 直接将里面javaso

Android平台中关于音频播放

Android平台中关于音频播放有以下三种方式: 1.SoundPool ---- 适合短促且对反应速度比较高的情况(游戏音效或按键声等) 2.MediaPlayer ---- 适合比较长且时间要求不高的情况 3.AudioTrack ---- 播放解码后的PCM码流 方法一:SoundPool 1)SoundPool简介 SoundPool类是Android用于管理和播放应用程序的音频资源的类.一个SoundPool对象可以看作是一个可以从APK中导入资源或者从文件系统中载入文件的样本集合.它

Android 音频播放——AudioTrack直接播PCM、MediaPlayer播媒体文件可以是audio

http://blog.csdn.net/java_android_c/article/details/52678265 Android平台播放音频的方式一般有3种.1.利用系统内置的应用程序播放音频    2.利用AudioTrack播放原始音频   3.使用MediaPlayer播放.此3种音频播放方式,以第三种MediaPlayer播放这种方式使用的最多,必须掌握! 一.使用系统内置的程序. Google想的"周到",一般都给我们提供了一些内置程序,然而这些内置程序的UI效果,那

简单音频播放器

注意:按钮图片和音频文件(*.wav)需要自己去网上下载替换(这里不方便上传),有什么问题,可以留言... import java.applet.Applet; import java.applet.AudioClip; import java.awt.Color; import java.awt.Font; import java.awt.List; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; imp

Android 学习笔记多媒体技术之 AsyncTask+实现音频播放...

PS:今天搞了一下如何实现音频播放...结果被坑了,看书上写的代码是挺简单的,但是有个函数就是死活没看懂,这真是受不了...最后才弄明白,原来是一个实现异步任务的一个类...这个类使用java.util.concurrent这个高效框架来管理线程以及任务的执行...可以解决匿名线程存在的问题... 学习内容: 1.理解AsyncTask 2.如何实现音频播放... 1.AsyncTask   AsyncTask的特点就是实现一个任务在另一个线程内执行,而不是在主函数中进行执行,这样就不会导致主线

算法系列之二十三:离散傅立叶变换之音频播放与频谱显示

算法系列之二十三:离散傅立叶变换之音频播放与频谱显示 算法系列之二十三离散傅立叶变换之音频播放与频谱显示 导语 什么是频谱 1 频谱的原理 2 频谱的选择 3 频谱的计算 显示动态频谱 1 实现方法 2 杂项说明 结果展示 导语 频谱和均衡器,几乎是媒体播放程序的必备物件,没有这两个功能的媒体播放程序会被认为不够专业,现在主流的播放器都具备这两个功能,foobar 2000的十八段均衡器就曾经让很多人着迷.在上一篇对离散傅立叶变换介绍的基础上,本篇就进一步介绍一下频谱是怎么回事儿,下一篇继续介绍