XtGem Forum catalog
logo

Chatbox|Admin nhận làm wap/web, giá cả thương lượng... Thông tin admin tại mỗi bài viết.
Home · Bang hội ·
* Đăng Nhập hoặc Đăng Kí
để sử dụng hết chức năng của diễn đàn.
Hi, Khách!
HomeBang hội » Thủ thuật » Nokia s40 » [Tiện ích] - Phát nhạc trong ứng dụng Java desktop - Play sound in java application
Xuống dưới » [Tiện ích] - Phát nhạc trong ứng dụng Java desktop - Play sound in java application
avatar by Pham_loi Pham_loi
Chức vụ:
22:11:09, 23-05-2016

Chào các bạn, âm thanh cũng là một phần quan trọng trong một ứng dụng gọi là 'friendly', chắc hẳn kia code application chúng ta không chú ý đến vấn đề này cho lắm đa phân chỉ muố là giao điện thật tốt, Nhất là những chương trình thiên về giải trí thì âm thanh là một phần không thể thiếu
Hôm này Huy xin gửi đến các bạn một class đo mình xây dựng sẳn, đóng gói hoàn chỉnh về phát nhạc trong ứng dụng (khuyên dùng định dạng wav), các bạn chỉ cần copy class này vào chương trình, cùng với một vài dòng code cơ bản là chương trình la thể phát nhạc.

Class Sound_cdjv
<?php
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.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.UnsupportedAudioFileException;
/*///
Tran huy
 * Mot tien ich cua congdongjava.com
*/

public class Sound_cdjv extends Thread {

    private 
String filename;

    private 
Position curPosition;

    private final 
int EXTERNAL_BUFFER_SIZE 524288// 128Kb

    
enum Position {
        
LEFTRIGHTNORMAL
    
};

    public 
Sound_cdjv(String wavfile) {
        
filename wavfile;
        
curPosition Position.NORMAL;
    }

    public 
Sound_cdjv(String wavfilePosition p) {
        
filename wavfile;
        
curPosition p;
    }

    public 
void run() {

        while(
true)
        {
        
File soundFile = new File(filename);
        if (!
soundFile.exists()) {
            
System.err.println("Wave file not found: " filename);
            return;
        }

        
AudioInputStream audioInputStream null;
        try {
            
audioInputStream AudioSystem.getAudioInputStream(soundFile);
        } catch (
UnsupportedAudioFileException e1) {
            
e1.printStackTrace();
            return;
        } catch (
IOException e1) {
            
e1.printStackTrace();
            return;
        }

        
AudioFormat format audioInputStream.getFormat();
        
SourceDataLine auline null;
        
DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);

        try {
            
auline = (SourceDataLineAudioSystem.getLine(info);
            
auline.open(format);
        } catch (
LineUnavailableException e) {
            
e.printStackTrace();
            return;
        } catch (
Exception e) {
            
e.printStackTrace();
            return;
        }

        if (
auline.isControlSupported(FloatControl.Type.PAN)) {
            
FloatControl pan = (FloatControlauline
                    
.getControl(FloatControl.Type.PAN);
            if (
curPosition == Position.RIGHT)
                
pan.setValue(1.0f);
            else if (
curPosition == Position.LEFT)
                
pan.setValue(-1.0f);
        }

        
auline.start();
        
int nBytesRead 0;
        
byteabData = new byte[EXTERNAL_BUFFER_SIZE;

        try {
            while (
nBytesRead != -1) {
                
nBytesRead audioInputStream.read(abData0abData.length);
                if (
nBytesRead >= 0)
                    
auline.write(abData0nBytesRead);
            }
        } catch (
IOException e) {
            
e.printStackTrace();
            return;
        } finally {
            
auline.drain();
            
auline.close();
        }
        }
    }
}
?>

Copy code

-----------
Trong chương trình cần gọi sound của các bạn, các bạn chỉ cần khởi tạo đối tưông của lớp sound_cdjv, với các phương thức sau
<?php
Sound_cdjv sound
=new Sound_cdjv("abc.wav");
//Khởi tạo đối tượng với đường dận đến file nhạc ở đây mình demo là abc.wav
  
sound.start();
//bất đầu phát nhạc
        
sound.suspend();
//tạm ngừng phát nhạc
        
sound.resume();
//quay trở lại vị trí tạm ngứng vá phát tiếp
?>

Copy code

Nguồn: congdongjava


Chỉnh sửa lúc 2016-05-26 15:49 bởi Pham_loi
Like: 0
Lên trên  Tổng số: 1







Trực Tuyến: Khách: 1
Diễn đàn teen Việt Nam
CopyRight 2014