ضبط صوت مانند برنامه های ارگ و سنتور اندروید
با سلام به همه دوستان عزیز
مطمئنا برنامه ارگ و سنتور و همانند آن ها را دیده اید. در حال نوشتن برنامه ای هستم که نیازمند به ضبط صوت مانند برنامه های ذکر شده هستم یعنی نمیخوام صدای اطراف ضبط بشه و فقط میخوام صداهایی که از برنامه تولید میشه ضبط بشه ممنون میشم راهنمایی کنین
خوب این که کار سختی نیست ! ، اگه من بگم A B C D شما چطوری می خونید ؟ حالا بگم D C B A چی ؟!
شما برای نت ها تون یک زبان بنویسید ، مثلا A فایل A.mp3 رو پخش کنه و...
حالا یه آداپتور بنویسید که فایل متنی تون رو صوت کنه
A B C
A.mp3 B.mp3 C.mp3
یا اگه میخواین حرفه ای تر کار کنید ، باید یک time Line تعریف کنید ، که بتونید همزمان چند فایل رو پخش کنید.
1 A B
2
3 C
4 D E
5 F A
6
7
8 Z A F
اون اعداد نمودار زمان هستند و حروف فایل هایی که باید در اون واحد زمان شروع به پخش بشن ، ممکنه وقتی دارن اجرا میشن ، هنوز فایل قبلی تموم نشده باشه و چند صدا هم زمان پخش بشه ، پس نباید از یک مدیا پلیر استفاده کنید !
نمونه کد جاوا چسباندن یا merg دو فایل mp3 :)
import java.io.*;
public class TwoFiles
{
public static void main(String args[]) throws IOException
{
FileInputStream fistream1 = new FileInputStream("C:\\Temp\\1.mp3"); // first source file
FileInputStream fistream2 = new FileInputStream("C:\\Temp\\2.mp3");//second source file
SequenceInputStream sistream = new SequenceInputStream(fistream1, fistream2);
FileOutputStream fostream = new FileOutputStream("C:\\Temp\\final.mp3");//destinationfile
int temp;
while( ( temp = sistream.read() ) != -1)
{
// System.out.print( (char) temp ); // to print at DOS prompt
fostream.write(temp); // to write to file
}
fostream.close();
sistream.close();
fistream1.close();
fistream2.close();
}
}
منبع ( لینک )
این قسمت اش سادست ! ، اما اگه بخواین چند صدا همزمان پخش کنید ؛ پیاده کردن mp3 ایش ساده نیست ، منم بلد نیستم اما استاد یه توضیحاتی دادند من شدم :| اون یکی دوستمون شده بود :((
میلاد جان. حالا که مصر هستی چند تا لینک میدم شاید کمکت کنه:
ذخیره صدای wav به صورت مونو و استریو ولی برای C# : لینک
اینم تقریبا برعکسش : لینک
مگقتن دستور SequenceInputStream هم برای این کاره (ولی برای من دو فایلو در ادامه هم مینداخت اونم خیلی بد و طی یه proccess طولانی
اینم پروژه های ffmpeg توی github برایjava : لینک
این هم 2 سوال که خودم توی stack در این رابطه مطرح کردم :
How to create a stereo audio file from two mono audio file with code in android
How to combine two audio files on top of each other in android
منتظر هستم ببینم تو چه میکنی ;)
در آموزش ضبط و پخش صدا ، ما صدا را به Sample های مختلف تقسیم میکنیم ؛ حالا میتونیم 2 تا Sample مختلف که از میکروفون یا فایل گرفته شده را با هم ترکیب کنیم و در استریم مربوطه پخش یا ضبط کنیم.
چسباندنش به هم که خیلی ساده است ، برای افتادن صدا روی هم فکر کنم از میانگین باید استفاده کنیم
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .