الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اريد نقل ملف صوت من حاسبة الى اخرى

بدأه الاخير زمانه في 20 أغسطس 2010 · 4 رد · 978 مشاهدة · في برمجة الشبكات والتطبيقات الموزعة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ،،

اريد نقل ملف صوت من حاسبة الى اخرى ،،

كيف من المكن عمل ذلك ،،

يعني مثلا لنقل ملف نصي كان شيء كالاتي

للأرسال

 NetworkStream ns = tcpClient.GetStream();
            FileStream fs = File.Open(filepath, FileMode.Open);
            int data = fs.ReadByte();
            while(data != -1)
            {
                ns.WriteByte((byte)data);
                data = fs.ReadByte();
            }

و للأستقبال

 NetworkStream ns = tcpClient.GetStream();
            StreamReader sr = new StreamReader(ns);
            string result = sr.ReadToEnd();           
            richTextBox1.Text = result;

وايضا صورة مافي مشكلة كان ممكن عرضها في picturebox ،،

لكن الان مع الملف الصوتي ، لو قمت يتحويله الى بايتات ثم ارسلته ، كيف اقوم بأستعادته في الجهة المستقبلة؟

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#2

وعليك السلام اخي العزيز,

يعتمد ذلك على مذا تريد تحويله عند الإستقبال بمعنى هل تريد نقل الصوت الذي به وتشغيله مباشرة عند الكلينت أو ارسال ملف صوتي ففي حالة إرسال ملف صوتي فقط نستخدم طريقة إرسال الملفات العادية لإرسال أي نوع من الملفات, علما أنه في حالة إرسال وتشغيل مباشر ففي هذه الحالة فأنت تريد عمل Streaming Media Service وبالتالي لابد اولا من معرفة الكوديك الخاص بذلك الملف عند الإستقبال ليتم عمل Decoding له قبل تشغيل ما تم استقباله...

بالتوفيق

#3

اريد ارسال ملف فقط ،،

انا ذكرت في مشاركتي الاولى كيفية ارسال ملف نصي او صورة ، لكن مذا لو ملف صوتي؟

من جهة السيرفر كيف سيكون الاستقبال و الخزن؟

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#4

العملية لا تختلف فكل ما ستحتاجه هو تحويل الملف الصوتي أو أي ملف اخر إلى مصفوفة من نوع بايت ثم ارسالها وقد تم شرح هذه الطريقة في أكثر من مثال في المواضيع المثبتة

واهلا وسهلا بك

#5

انا حاولت هكذا ،،

في جهة ال client

TcpClient tcpClient = new TcpClient(
                txtHost.Text, int.Parse(txtPort.Text));
            NetworkStream ns = tcpClient.GetStream();
            FileStream fs = File.Open(filepath, FileMode.Open);

            byte[] data = new byte[100000];
            fs.Read(data, 0, data.Length);
            ns.Write(data, 0, data.Length);

ومن جهة السيرفر

TcpClient tcpClient = tcpListener.AcceptTcpClient();
            NetworkStream ns = tcpClient.GetStream();

            byte[] data = new byte[10000];
            ns.Read(data, 0, data.Length);

            FileStream fs = new FileStream("d:\\111.wav",
                FileMode.CreateNew, FileAccess.Write);
            fs.Write(data, 0, data.Length);

لكن البرنامج لا يتنفذ ،، يعني الملف لا يرسل بصورة صحيحة

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

مواضيع مشابهة