انجمن سایت کلیدستان


رتبه موضوع:
  • 2 رای - 4.5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
این کد چه اشتباهی در آدرس دهی یه آهنگ بعنوان زنگ موبایل داره ؟

این کد چه اشتباهی در آدرس دهی یه آهنگ بعنوان زنگ موبایل داره ؟

#10
(۱۳۹۳/۰۲/۱۶, ۱۲:۴۷ ب.ظ)'moralschool' نوشته: کد رو تست کردم این مشکل اضافه کردن تکراری زنگ در قسمت زنگ های گوشی حل شده ولی یه مشکل دیگه فکر کنم پیش میاد !
برنامه ای که من دارم روش کار میکنم سه تا دکمه داره که یکیش برای تعیین بعنوان زنگ موبایل ، یکی برای زنگ پیامک و یکی برای آلارم هست
حالا وقتی هر کدوم رو انتخاب میکنم می بینم که زنگ دوتای دیگه بر میگرده به زنگ پیشفرض گوشی !
در صورتی که باید اگه هر سه دکمه انتخاب بشن ، هر سه تا در قسمت تنظیمات اعمال بشه ولی الان اینجوری نیست و با انتخاب هر دکمه زنگ مورد نظر اعمال میشه ولی زنگ دوتای دیگه به پیشفرض بر میگرده
در کدهای قبلی این مشکل بوجود نمیومد فکر کنم بخاطر کد حذف باشه درسته ؟
 

آن روش، به تنهایی مشکلی ندارد، یعنی اگر تنها برای زنگ گوشی (Ringtone) به کار رود، مواردی مثل زنگ پیامک (Message) را تغییر نمی دهد (امتحان کردم و مشکلی نداشت). اما در موردی که شما گفتید، چون آن را برای  زنگ پیامک (Message) و زنگ های دیگری نیز به کار می برید، هنگامی که از دستور زیر استفاده می کنیم، خود به خود، آن موارد نیز حذف می شود (چون مسیر فایل مربوط به همه آن زنگ ها، یکسان است) :

کد:
Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + k.getAbsolutePath() + "\"", null);

خوب من برای رفع این مشکل، کمی در اینترنت جستجو کردم، اما کد مفیدی پیدا نکردم که سرنخی برای راه حل بدهد. 
شاید راه حل این باشد که مثلا برای زنگ گوشی، زنگ پیامک و زنگ آلارم، سه فایل مختلف از آهنگ مورد نظر در حافظه خارجی (External Storage) بسازیم و برای هر زنگ، یکی از آنها را به کار ببریم و بنابراین چون مسیرها متفاوت است، با حذف یکی، دو تای دیگر حذف نمی شوند. مثلا سه مسیر زیر :

کد:
/MyApp/Ringtone.mp3
/MyApp/Message.mp3
/MyApp/Alarm.mp3

فرض کنیم برنامه شما دارای 50 آهنگ است، به محض اینکه کاربر یک آهنگ را برای زنگ گوشی انتخاب می کند، فایل Ringtone.mp3 را، اگر وجود دارد، حذف کرده و فایل جدید را به جای آن کپی می کنید و کدها را برای تعیین آن به عنوان زنگ گوشی جدید اجرا می کنید (برای پیامک و آلارم نیز به طور مشابه). البته اگر قبلا مسیر آن فایل به عنوان زنگ گوشی تعیین شده باشد، حدس می زنم دیگر نیازی به اجرای کدهای تعیین زنگ نباشد و تنها کپی کردن فایل کافی باشد (مگر اینکه بخواهید عنوان آهنگ و نام سازنده آن را تغییر بدهید).
این موارد را شخصا امتحان نکرده ام و بنابراین باید کدنویسی آن را انجام بدهید و ببینید که روش مناسبی است یا خیر. در ضمن، بد نیست قبل از آن، کمی در اینترنت نیز جستجو کنید.

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط moralschool


پیام‌های این موضوع
RE: این کد چه اشتباهی در آدرس دهی یه آهنگ بعنوان زنگ موبایل داره ؟ - توسط admin - ۱۳۹۳/۰۲/۱۹, ۰۷:۴۸ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان