[vb.net] הצגת סרט מstream - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

[vb.net] הצגת סרט מstream


Mishka87

Recommended Posts

היי

בתוכנה שלי אני פותח סרט ע"י הפונקצייה mciSendString שבwinmm.dll

את הסרט אני מעוניין לשלוח דרך networkstream, וכאן אני נתקל בבעייה

לא מצאתי, ולפי מה שהבנתי, לתוך mciSendString ניתן לטעון רק קבצים שמורים במחשב, לא דרך stream.

הפתרון שמצאתי הוא לפרק את הסרט לתמונה וקול בנפרד.

את התמונה אני מצליח לשלוח, הבעייה בצליל.

קובץ קול שלם אני יודע לשלוח ולהשמיע, אך מכיוון שמדובר בסרט, ועוד מספר סיבות אישיות, אני מעוניין להזרים את הצליל בזמן אמת, או בחבילות קטנות, ולהשמיע אותו בצד השני.

האם הפתרון היחיד הוא לשמור קטע קצר(נגיד שנייה) של הצליל, ועז לשלוח את הקטע כל פרק זמן מסויים(שנייה במקרא הזה)?

או שיש פתרון יותר פשוט לשמירת קול בזמן אמת למערך bytes(על מנת לשלוח אותו), ולהשמיעו?

אם יש פתרון, חיי קלים(אני מניח), אסמך לשמוע מהוא אותו הפתרון.

אם לא, סיבוכים בשבילי, כיצד אני עושה את השמירה של שנייה במהלך הסרט דרך mciSendString?

תודה מראש

מיכאל

קישור לתוכן
שתף באתרים אחרים

אפשט את העניין

האם ניתן בעזרת הפונקצייה mciSendString שבתוך winmm.dll, או כל שיטב אחרת, להשמיע קובץ .wav מתוך memorystream? (מערך ביטים שלתוכו טענתי את הקובץ)

מיכאל

קישור לתוכן
שתף באתרים אחרים

  • 2 שבועות מאוחר יותר...

שלום, למרות שהדיון קצת התיישן, אני מרגיש שאני חייב לעזור לך.

בקשר לשמירת קובץ ה-wav ל-MemoryStream,

יש תהליך שנקרא Serialization, תהליך זה מאפשר לך להפוך

אובייקטים למערך של בייטים. כך שתוכל להפוך אובייקט שאחראי

לקובץ WAV למערך בייטים, לשמור אותו ב-MemoryStream ואז להפוך

אותו בחזרה לאובייקט WAV באמצעות Deserialization.

אם אתה מעלה את הקובץ Wav שלך באמצעות מחלקה מסויימת, תהפוך את אותו

האובייקט למערך שלבייטים וחזרה באמצעות התהליך שציינתי. אני לא בטוח שניתן

להפוך כול אובייקט, אבל שווה לנסות.

השתמשתי בשיטה הזו באחד מן המאמרים שכתבתי בכדי להעביר תמונה ממקום למקום ברשת:

http://www.codeproject.com/KB/audio-video/CamCommunication.aspx

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...