تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 9 از 9

نام تاپيک: کمک برای خواندن یک فایل باینری

  1. #1
    پروفشنال akpa's Avatar
    تاريخ عضويت
    Jun 2007
    محل سكونت
    خونمون
    پست ها
    876

    پيش فرض کمک برای خواندن یک فایل باینری

    سلام پروژه کارشناسی دوستم پخش موسیقی با میکرو هستش که کارهای میکرو انجام شده و برای برنامه اش از من کمک خواسته
    قرار برنامه ای بنویسیم که یه فایل mp3 رو انتقال بده به پورت usb
    تابع انتقال نوشته شده
    فقط قزازه یه فایل mp3 رو باز کنم و بایت به بایت بخونم
    ممنون میشم کمکم کنید
    در ضمن پروژه به زبان vb.net هستش

  2. #2
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2013
    پست ها
    160

    پيش فرض

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  3. این کاربر از rahnema1 بخاطر این مطلب مفید تشکر کرده است


  4. #3
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    گمان نکنم مشکل شما که فقط خواندن بایت به بایت باشد؟
    برای این منظور میتوانید از FileStream و تابع ReadByte استفاده کنید.
    یا خواندن در بلاک های 4 بایتی
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اگر مشکل در درک هدرهای MP3 دارید، شاید لینک زیر کمکی کند:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    البته میتوانید از آی.سی هایی مانند VS1003B هم استفاده کنید.

  5. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  6. #4
    پروفشنال akpa's Avatar
    تاريخ عضويت
    Jun 2007
    محل سكونت
    خونمون
    پست ها
    876

    پيش فرض

    ممنون از دوستان فقط اشتباهی در سوال بود که فایل mp3 نیست , wave هستش
    در واقع ما میخوایم اطلاعات رو به صورت 7بیت 7 بیت به پورت میکرو منتقل کنیم تا از اونجا داخل حافظه میکرو نوشته بشه
    تابع انتقال نوشته شده
    فقط برای آرگومان ورودی نیاز داریم بیت های فایل رو به صورت 7 تا 7 تا جدا کنیم

  7. #5
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2013
    پست ها
    160

    پيش فرض

    ممنون از دوستان فقط اشتباهی در سوال بود که فایل mp3 نیست , wave هستش
    در واقع ما میخوایم اطلاعات رو به صورت 7بیت 7 بیت به پورت میکرو منتقل کنیم تا از اونجا داخل حافظه میکرو نوشته بشه
    تابع انتقال نوشته شده
    فقط برای آرگومان ورودی نیاز داریم بیت های فایل رو به صورت 7 تا 7 تا جدا کنیم
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  8. این کاربر از rahnema1 بخاطر این مطلب مفید تشکر کرده است


  9. #6
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    فقط برای آرگومان ورودی نیاز داریم بیت های فایل رو به صورت 7 تا 7 تا جدا کنیم
    خوب میدانید که یک بایت 8 بیت است، پس بیت آخر چه میشود؟!
    یعنی در ارسال و دریافت میخواهید از شیفت بیتی استفاده کنید؟
    یعنی میخواهید هر 7 بایت (56بیت) رایانه را در قالب 8 بسته 7 بیتی به میکرو تان منتقل کنید؟
    نمیتوانید خط انتقال را برای عبور کامل 8 بیت اصلاح کنید؟
    (تلاش کنید بدون شک قابل انجام است بچه های خودمان در شرکت قبلی خیلی راحت این کار را با AVR و دربستر USB انجام داده بودند)


    در مورد روشی هم که دوستمان (rahnema1) در پست قبلی بیان کردند، باید عرض کنم بنظر بازدهی مناسبی ندارد و اگر قرار بر ارسال 7 بیت 7 بیت هم باشد، باید این انتقال در فرستنده و گیرنده از طریق دستورات شیفت بیتی انجام شود و تبدیل آنها به شکلی که در پست قبلی اشاره شد، معقول و منطقی نمیباشد.
    موفق باشید.

  10. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  11. #7
    داره خودمونی میشه
    تاريخ عضويت
    Sep 2013
    پست ها
    160

    پيش فرض

    در مورد روشی هم که دوستمان (rahnema1) در پست قبلی بیان کردند، باید عرض کنم بنظر بازدهی مناسبی ندارد و اگر قرار بر ارسال 7 بیت 7 بیت هم باشد، باید این انتقال در فرستنده و گیرنده از طریق دستورات شیفت بیتی انجام شود و تبدیل آنها به شکلی که در پست قبلی اشاره شد، معقول و منطقی نمیباشد.
    موفق باشید.[/QUOTE]

    هدف پروژه اینه که داده ها به صورت 7 بیتی در بیان تا فقط یک بار در حافظه میکرو نوشته بشه اصلا بازدهی کامپیوتری که می خواد داده ها رو به میکرو منتقل کنه هیچ اهمیتی نداره چون پردازش نهایی بر روی فایل صوتی توسط میکرو انجام می گیره و ارتباط با پورت قطع میشه
    مهم اینه که مقدار داده هایی که به میکرو منتقل میشه از 127 بیشتر نشه

  12. #8
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    پيش فرض

    من مشابه این کار رو قبلا انجام دادم. مشابه که نه، خودشه!
    تا اونجایی که من یادم میاد فایل wav دارای سطح صفر در بیت هفتم هست. یعنی به ازای سکوت 128 می باشد و به ازای سیکل های بالایی صدا، این عدد بیشتر و به ازای سیکل های پایینی این عدد کمتر می شود.
    پس تنظیم حجم و موارد دیگر کاملا قابل بررسی و قابل تغییر است. کد تبدیل دوستمان rahnema1 رو نفهمیدم (اصلا VB نمی فهمم، البته حدودا فهمیدما ) اما اگر این تبدیل صورت بگیرد می بایست سطح صفر در نقطه ای دیگر دیده شود مثلا 64 . در غیر این صورت در صدای خروجی همیشه یک خِرخِر وجود دارد.
    حالا واقعا چرا 7 بیت؟ در Convertion به wav هم مدل 7 بیتی نداریم. در اون پروژه من همه ی پسوند ها رو می گرفتم و به wave هشت بیتی تبدیل می کردم حالا با نرخ سمپل های مختلف. میکرو هم که هشت بیتی است! پورت USB هم که در ReportDescriptor و در بخش ReportSize دارای تنظیم حجم ترانسفر بر حسب بیت هست.

    این اجباری که جناب akpa می فرمایند برای 7 بیت، برای چیست؟ شاید راهکار مناسبتری وجود داشته باشد؟

    موفق باشید.

  13. #9
    پروفشنال akpa's Avatar
    تاريخ عضويت
    Jun 2007
    محل سكونت
    خونمون
    پست ها
    876

    پيش فرض

    مشکل از مدار هست و بیت 8 رو رزرو کردن برای کاری فکر کنم با بیت هشتم میخوان سیگنال آماده بودن یا همچین کاری رو انجام بدن به هرحال ممنون از دوستان
    دوستم پروژه رو علی رغم پیشرفتش رها کرد و نمرش رو گرفت (12)

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •