PDA

View Full Version : حرفه ای: کار با مدیا پلیر در C#‎



adam_11
یک شنبه 05 شهریور 1402, 11:46 صبح
با سلام ،
کسی از دوستان کد داره که بتونم از باند چپ یک خروجی و از باند راست یک خروجی صدا بگیرم ( مثلا موسیقی بی کلام از باند چپ و دکلمه از باند راست پخش شود هم زمان )

bitasoft.ir
شنبه 18 شهریور 1402, 22:07 عصر
با سلام ،
کسی از دوستان کد داره که بتونم از باند چپ یک خروجی و از باند راست یک خروجی صدا بگیرم ( مثلا موسیقی بی کلام از باند چپ و دکلمه از باند راست پخش شود هم زمان )

برای پخش دو خروجی صدا به صورت هم‌زمان از باند چپ و باند راست، می‌توانید از کتابخانه‌های مرتبط با پخش موسیقی و صدا در C#‎‎‎‎ استفاده کنید. یکی از پرکاربردترین کتابخانه‌ها برای این منظور کتابخانه NAudio است. با استفاده از NAudio، می‌توانید فایل‌های صوتی را پخش کرده و کنترل دقیقی بر روی خروجی‌های صدا داشته باشید.
برای شروع، ابتدا NAudio را به پروژه خود اضافه کنید. این کار را می‌توانید با نصب پکیج NAudio از NuGet Package Manager انجام دهید.
حالا می‌توانید از کد زیر برای پخش دو فایل صوتی به صورت هم‌زمان از باند چپ و راست استفاده کنید. در این مثال، از دو ویرایشگر و پلیر متفاوت برای باند چپ و راست استفاده می‌شود.



using NAudio.Wave;


class Program
{
static void Main(string[] args)
{
// مسیر فایل‌های صوتی
string leftAudioPath = "path_to_left_audio.wav";
string rightAudioPath = "path_to_right_audio.wav";


// ایجاد و پیکربندی پلیرها برای باند چپ و راست
using (var leftPlayer = new WaveOutEvent())
using (var rightPlayer = new WaveOutEvent())
{
// بارگذاری فایل‌های صوتی
var leftAudioFile = new AudioFileReader(leftAudioPath);
var rightAudioFile = new AudioFileReader(rightAudioPath);


// اتصال فایل‌های صوتی به پلیرها
leftPlayer.Init(leftAudioFile);
rightPlayer.Init(rightAudioFile);


// پخش هم‌زمان
leftPlayer.Play();
rightPlayer.Play();


// منتظر ماندن تا پایان پخش
while (leftPlayer.PlaybackState == PlaybackState.Playing || rightPlayer.PlaybackState == PlaybackState.Playing)
{
System.Threading.Thread.Sleep(100);
}
}
}
}




لطفاً مطمئن شوید که مسیر فایل‌های صوتی (leftAudioPath و rightAudioPath) را به مسیر واقعی فایل‌های صوتی خود تغییر دهید. این کد به شما این امکان را می‌دهد که دو فایل صوتی را از باندهای چپ و راست پخش کرده و آن‌ها را هم‌زمان گوش کنید.

فقط یک موردی که هست اینکه که نمیدونم اون پکیج مجانی هست یا نه. نسخه های قبلیش مجانی بود و بدون مشکل کار می کرد.

ROSTAM2
یک شنبه 19 شهریور 1402, 06:52 صبح
با سلام ،
کسی از دوستان کد داره که بتونم از باند چپ یک خروجی و از باند راست یک خروجی صدا بگیرم ( مثلا موسیقی بی کلام از باند چپ و دکلمه از باند راست پخش شود هم زمان )
سلام به همه.
به نظر من این به زمان ظبط بر می گرده
یا ویرایش فایل صوتی.
یک فایل صوتی که استریو ظبط شده باشه Right و left از اون متفاته و اگر Mono باشه هر دوی Right و Left برای پحش Stereo یکیه.
بهر حال بهتر این هست که شما فایل صوتی رو ویرایش کنید و یا زمان ظبط صدا، موسیقی و صدا رو مجزا ظبط و با ویرایشگر صدا Right و یا Left اون رو ادغام کنید.
فکر کنم ویرایشگر صدای Sound Forge برای این کار مناسب باشه و یک نرم افزار ویرایش صوت حرفه ای هست.

ابنهم یک نمونه (از فایل صوتی دو کاناله با اصوات متفاوت) اگه می خواستید تست کنید فقط کدش و بدست آوردید همینجا به اشتراک بگذارید:
https://enama.ir/videos/4780238

fh6114345@gmail.com
یک شنبه 19 شهریور 1402, 15:07 عصر
داداش تنظیمات دستی چیه؟
اینجا انجمن برنامه نویسیه


سلام به همه.
به نظر من این به زمان ظبط بر می گرده
یا ویرایش فایل صوتی.
یک فایل صوتی که استریو ظبط شده باشه Right و left از اون متفاته و اگر Mono باشه هر دوی Right و Left برای پحش Stereo یکیه.
بهر حال بهتر این هست که شما فایل صوتی رو ویرایش کنید و یا زمان ظبط صدا، موسیقی و صدا رو مجزا ظبط و با ویرایشگر صدا Right و یا Left اون رو ادغام کنید.
فکر کنم ویرایشگر صدای Sound Forge برای این کار مناسب باشه و یک نرم افزار ویرایش صوت حرفه ای هست.

ابنهم یک نمونه اگه می خواستید تست کنید فقط کدش و بدست آوردید همینجا به اشتراک بگذارید:
https://enama.ir/videos/4780238

154917

ROSTAM2
یک شنبه 19 شهریور 1402, 19:35 عصر
سلام مجدد
طبق جستجویی که من انجام دادم راههای مختلفی برای تغییر Soun Channel Layout وجود داره از جمله استفاده از کلاسهای DirectX و متود های Win32API و همپنین کامپوننت های دیگه...
که من اومدم و از یک کامپوننت که توی ابزار COM هست استفاده کردم که مسیر ساده تر باشه:

154922

اما چیزی که هست این هنوز کافی نیست
این سورس فقط می تونه کانال های صدا رو Mute و UnMute کنه یعنی چیزی که ما بهش نیاز داریم پحش صدای هر کانال در زمان دلخوا بر روی هز دو باند اسپیکر که من مشتاق دسترسی به اون هستم اگر اطلاعی در این زمینه دارید تو همین تاپیک به اشتراک بگذاریئ. ممنون

154921

سورس کذی ک من دارم VB بود برای همین هم حذف کردم.

ROSTAM2
یک شنبه 19 شهریور 1402, 21:30 عصر
سلام
خدا رو شکر بالاخره پیداش کردم اون چیزی رو که باید....

این ابزار ffplay نام داره و قابلیت پخش زنده رو هم داره و اگثر فرمت های صوتی و تصویری پشتیبانی می کنه. طی آزمایشی که صدای لینک شده در پست های قبلی رو بهش دادم نتیجه گرفتم و صدای هر کانالی که روی فایل صوتی ظبط شده باشه رو روی هر دو باند Speaker پخش می کنه واین برای پخش ویدئو هایی با دو زبان متفاوت عالیه:

154925

این صفحه راهنمای هست که از طریق اون به نتیجه رسیدم....
AudioChannelManipulation – FFmpeg (https://trac.ffmpeg.org/wiki/AudioChannelManipulation)

ROSTAM2
دوشنبه 20 شهریور 1402, 19:26 عصر
سلام مجدد

این هم ویدئوی آموزشی چگونگی ساخت فایل صوتی دوکاناله با اصوات متفاوت و طریقه پخش و گوش دادنش:

در این ویدئو دستورات استفاده شده برای ایجاد یک فایل صوتی دو زبانه با ابزار ffmpeg و دستورات پخش فایل صوتی بصورت تک زبانه بصورتی که هر زبان برای شنیدن قابل انتخاب باشد با استفاه از ابزار ffplay مفصّلا شرح داده شده است.

آموزش ساخت فایل صوتی دو زبانه (با دو زبان متفاوت) (https://www.aparat.com/dashboard/videostat/ifpUs)