کتابخانه GO رایگان برای پخش و ضبط صدا
کتابخانه GO منبع باز که به توسعه دهندگان نرم افزار امکان پخش، ضبط، کدگذاری، خواندن و تبدیل فایل های صوتی را می دهد.
Malgo یک کتابخانه صوتی Open Source Mini Go بسیار مفید است که به طور کامل از ویژگی های اولیه و همچنین پیشرفته پردازش صدا پشتیبانی می کند. این کتابخانه بر روی تمامی پلتفرم های اصلی قابل استفاده است و دارای ویژگی های پیشرفته بسیاری برای پخش و ضبط فایل های صوتی است. کتابخانه بسیار پایدار است و هیچ باگ یا آسیب پذیری ندارد. این کتابخانه را می توان در تمامی پلتفرم های اصلی مانند ویندوز، لینوکس، macOS، اندروید و غیره استفاده کرد.
کتابخانه Malgo دارای چندین ویژگی مهم مانند پشتیبانی از جریان صوتی، پخش فایلهای صوتی، گرفتن دادهها از میکروفون پیشفرض شما، پشتیبانی از ارسال دادههای بیشتر به دستگاه برای پخش، رمزگذاری بایتهای صوتی ورودی به PCM، پشتیبانی از جریان صوتی، پشتیبانی از همه موارد اصلی است. کدک ها، دسترسی به دوربین و بسیاری موارد دیگر. این کتابخانه تحت مجوز Unlicense مجوز دارد، به این معنی که هر کسی در کپی کردن، تغییر، انتشار، استفاده، جمع آوری، فروش یا توزیع این نرم افزار آزاد است.
شروع کار با Malgo
روش توصیه شده برای نصب Malgo در پروژه شما استفاده از GitHub است. لطفا از دستور زیر برای نصب راحت استفاده کنید.
Malgo را از GitHub نصب کنید
go get -u github.com/gen2brain/malgo
ضبط داده های صوتی از میکروفون از طریق Go
ضبط یک فایل صوتی به روشی برای خواندن میکروفون و دریافت سیگنال از خارج از رایانه اشاره دارد. یکی از کاربردهای رایج ضبط صدا، ضبط است، مانند ضبط ورودی میکروفون به یک فایل صوتی. کتابخانه Malgo این قابلیت را فراهم میکند که دادهها را از میکروفون پیشفرض شما گرفته تا زمانی که کاربر دکمه enter را فشار دهد. پس از تکمیل فرآیند، کاربران می توانند صدای ضبط شده را در یک درایو خارجی با فرمت های فایل پشتیبانی شده ذخیره کنند.
ضبط صدا از طریق Go API
// Capturing will commence writing the samples to the writer until either the
// writer returns an error, or the context signals done.
func Capture(ctx context.Context, w io.Writer, config StreamConfig) error {
deviceConfig := config.asDeviceConfig()
deviceConfig := config.asDeviceConfig(malgo.Capture)
abortChan := make(chan error)
defer close(abortChan)
aborted := false
@@ -32,5 +32,5 @@ func Capture(ctx context.Context, w io.Writer, config StreamConfig) error {
},
}
return stream(ctx, abortChan, malgo.Capture, deviceConfig, deviceCallbacks)
return stream(ctx, abortChan, deviceConfig, deviceCallbacks)
پخش صدا از طریق کتابخانه Go
کتابخانه منبع باز Malgo به توسعه دهندگان نرم افزار این امکان را می دهد تا فایل های صوتی را تنها با چند خط دستور Go بارگیری و پخش کنند. این کتابخانه همچنین از کنترل همزمان چندین صدا در داخل برنامه های Go پشتیبانی کامل می کند. همچنین می توان با اختصاص یک شناسه صدا به آن و مدیریت آن صدای خاصی را کنترل کرد. برای پخش خودکار یک فایل صوتی، کتابخانه به طور خودکار کل فایل صوتی را دانلود می کند یا با استفاده از ابرداده آن را از قبل بارگذاری می کند.
پخش صدای صوتی از طریق Go API
// Playback will commence playing the samples provided from the reader until either the
// reader returns an error, or the context signals done.
func Playback(ctx context.Context, r io.Reader, config StreamConfig) error {
deviceConfig := config.asDeviceConfig()
deviceConfig := config.asDeviceConfig(malgo.Playback)
abortChan := make(chan error)
defer close(abortChan)
aborted := false
@@ -38,5 +38,5 @@ func Playback(ctx context.Context, r io.Reader, config StreamConfig) error {
},
}
return stream(ctx, abortChan, malgo.Playback, deviceConfig, deviceCallbacks)
return stream(ctx, abortChan, deviceConfig, deviceCallbacks)
اجرای Simple Mixing از طریق Go API
میکس صدا یک فرآیند بسیار مفید برای ایجاد تعادل و ویرایش آهنگ های صوتی ضبط شده برای تولید یک ترکیب مناسب از تمام صداهای موجود در یک فایل است. کتابخانه منبع باز Malgo یک راه مفید برای بارگیری چندین فایل و پخش همزمان همه آنها فراهم می کند. هنگام مخلوط کردن صداهای متعدد با هم، کاربران باید تنها یک دستگاه (نه چندگانه) ایجاد کنند و سپس صداها را با هم مخلوط کنند.