ضبط و پخش صدا با سی شارپ :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات
  • ۶ ارديبهشت ۰۳، ۱۶:۱۵ - hidden
    test

سلام خدمت همگی، توو این پست تصمیم گرفتم که ضبط صدای سیستم و پخش اون رو با سی شارپ به صورت خیلی ساده بگم و هم میخوام کامپوننت Windows Media Player رو معرفی کنم که امیدوارم مفید باشه و به کارتون بیاد. 


اول تولباکس ها و کامپوننت زیر رو توو فرمتون ادد کنید.

1- 3 تا باتن 

2- 1 لیبل

3- Windows Media Player که ادد کردنش رو در ادامه براتون میگم...

 

نحوه ادد کردن کامپوننت Windows Media Player به فرم

اول در بخش تولباکس روی فضای خالی یا All Windows Form راست کلیک کنید و گزینه Choose Items... رو بزنید.

                    

خب حالا در تب COM Components تیک گزینه Windows Media Player را زده و OK میکنیم.

       

خب حالا مقدار Text تولباکس ها را به ترتیب زیر تغییر دهید.

باتن 1: Record

باتن 2 : Stop and Save

باتن 3: Play

لیبل: Recording...


خب حالا فرم رو بسته به سلیقه تون مرتب و رنگ رنگی کنید و بریم سراغ کدنویسی...

اول کتابخونه زیر رو تعریف کنید:

using System.Runtime.InteropServices;

خب حالا تابع زیر رو بعد از 

بنویسید:

[DllImport("winmm.dll")]
private static extern int mciSendString(string MciComando, string MciRetorno, int MciRetornoLeng, int CallBack);
string music = "";

حالا کد زیر رو در قسمت Form_Load بنویسید.

label1.Visible = false;

کد باتن 1 (Record):

label1.Visible = true;
mciSendString("open new type waveaudio alias Som", null, 0, 0);
mciSendString("record Som", null, 0, 0);

کد باتن 2 (Stop and Save):

label1.Visible = false;
mciSendString("pause Som", null, 0, 0);
SaveFileDialog save = new SaveFileDialog();
save.Filter = "MP3|*.mp3 |Wave|*.wav";
if (save.ShowDialog() == DialogResult.OK)
{
mciSendString("save Som " + save.FileName, null, 0, 0);
mciSendString("close Som", null, 0, 0);
}

کد باتن 3 (Play):

OpenFileDialog op = new OpenFileDialog();
op.Filter = "(*.mp3 , *.wav)| *.mp3; *.wav";
if (op.ShowDialog() == DialogResult.OK)
axWindowsMediaPlayer1.URL = op.FileName;

خب اینم از این. درواقع لیبل 1 نشان دهنده وضیعت ضبط است که هنگامی که روی باتن 1 کلیک می شود، لیبل 1 به نمایش در می آید و اعلام میکند که برنامه درحال ضبط است و هرگاه روی باتن 2 که همان stop هست کلیک شود، لیبل 1 پنهان میشود.

اینم برنامه ای که من نوشتم:

                     

خب امیدوارم مفید بوده باشه و لذت برده باشید.


موفق باشید ...

نظر (۷)

خیلی ممنون فقط میشه کار با دوربین هم ببگید خیلی ممنون

Virus32 32 Attacker ‌ :
قربونت، چشم. انشاالله در فرصت مناسب...

سلام

یه سوال داشتم:

میشه آدرس یه سایتی که فیلم آنلاین داره رو بهش بدیم تا پخش کنه؟؟

Virus32 32 Attacker ‌ :
منظورت اینه اون سایته بالا بیاد
یا توو برنامت، اون سایته رو نشون بده؟

مثلا سه دکمه باشه با تکست های شبکه ۱   شبکه ۲  شبکه ۳

روی هر کدوم که کلیک شد توی پلیر برنامه url سایت پخس انلاین داده بشه و شروع به پخش کنه. راهی هست؟؟

____________________________________________

خودم میخواستم این کار رو با کامپوننت WebBrowser داخل ویژوال استودیو انجام بدم که بره اون سایت رو برام بیاره و طرف روی پلی بزنه ولی پیغام میده که اسکریپت های استفاده شده توی این صفحه رو نداره و نمیتونه لود کنه.

میشه کاری کرد که مثلا گوگل کروم رو داخل برنامه خودمون داشته باشیم؟

Virus32 32 Attacker ‌ :
سلام چند وقت پیش یه پست راجب ساخت مرورگر با سی شارپ گزاشتم 
از اون میتونی کمک بگیری 
یا کد زیر برای باز کردن یه صفحه وبه:
Process.Start(@"http:\\virus32.blog.ir");
اینو دستی نوشتم ببین یوقت غلط املایی یا مشکلی نداشته باشه...

مرسی.

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

راه یا API یی هست که مثلا بشه کروم رو داخل برنامم داشته باشم؟ درواقع جدا باز نشه تو فرم خودم باشه.

 

Virus32 MicRoB 32 :
با  CefSharp میشه کروم رو توی پروژه باز کرد

سلام اگه میشه یه پست مثل همین بزارین ولی وقتی رو باتن کلیک میکنیم یه عکس باز بشه

Virus32 32 Attacker ‌ :
عکس باز شه؟ توو فرم برنامه عکس باز شه یا عکس جدا باز شه؟
برای باز شدن عکس مثل فایل باید آدرس بدی و اونو فراخوانی کنی.
برای باز شدن عکس توو فرم هم که اول راه های زیادی داره از طریق آدرس دادن (فایل دیالوگ) یا اینکه از قبل عکست رو وارد پروژه کنی
منظورتو واضح تر بگو...

توی فرم باز شه  و اینکه عکس از قبل تو پروژه وارد کرده باشیم

Virus32 32 Attacker ‌ :
یه پیکچر باکس به فرمت ادد کن و کد زیر رو برای باتن بنویس:
 pictureBox1.Image = global::Projectname.Properties.Resources.name;
به جای Projectname اسم پروژت رو بنویس و به جای name هم اسم عکسی که توو پروژه قرار دادی رو بنویس. وقتی روو باتن کلیک کنی، عکست توو پیکچر باکس به نمایش درمیاد.

کار نکرد چیزی ضبط نمیکنه فقط یه فایل خالی رو ذخیره میکنه

Virus32 MicRoB 32 :
 میکروفنی چیزی وصل سیستمت بوده؟
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی