هذا رمز مبسط يمكنه دعم تنسيقات محدودة للغاية.
نسخة الكود كما يلي:
حزمة com.hongyuan.test ؛
استيراد java.io.file ؛
استيراد java.io.ioException ؛
استيراد javax.sound.sampled.audioformat ؛
استيراد javax.sound.sampled.audioInputStream ؛
استيراد javax.sound.sampled.audiosystem ؛
استيراد javax.sound.sampled.dataline ؛
استيراد javax.sound.sampled.lineunavailablexception ؛
استيراد javax.sound.sampled.sourcedataline ؛
استيراد javax.sound.sampled.unsupportediudiofileException ؛
الطبقة العامة Musictest {
Static Static Final Final Music_File = "Smile when Ne Meet.wav" ؛
الفراغ الثابت العام (سلسلة [] args) يلقي lineUnavailablexception ،
UnsupportedaudiofileException ، ioException {
// احصل على دفق إدخال الصوت
AudioInputStream AudioInputStream = نظام الصوت
.getaudioPutStream (ملف جديد (music_file)) ؛
// احصل على كائن ترميز الصوت
Audioformat audioformat = AudioInputStream.getFormat () ؛
// تعيين إدخال البيانات
dataline.info datalineinfo = new dataline.info (sourcedataline.class ،
Audioformat ، Audiosystem.not_specified) ؛
sourcedataline sourcedataline = (sourcedataline) نظام السمع
.getline (DatalineInfo) ؛
sourcedataline.Open (Audioformat) ؛
sourcedataline.start () ؛
/*
* اقرأ البيانات من دفق الإدخال وأرسل إلى الخلاط
*/
عدد int
Byte Tempbuffer [] = New Byte [1024] ؛
بينما ((count = AudioInputStream.read (tempbuffer ، 0 ، tempbuffer.length))! = -1) {
if (count> 0) {
sourcedataline.write (tempbuffer ، 0 ، count) ؛
}
}
// امسح المخزن المؤقت للبيانات وأغلق الإدخال
sourcedataline.drain () ؛
sourcedataline.close () ؛
}
}