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



دانلود و اشتراک فایل صوتی در برنامه اندرویدزمان کنونی: ۱۳۹۵/۰۹/۱۳، ۰۴:۵۰ ق.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: moralschool
آخرین ارسال: moralschool
پاسخ 14
بازدید 4391

رتبه موضوع:
  • 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
دانلود و اشتراک فایل صوتی در برنامه اندروید

دانلود و اشتراک فایل صوتی در برنامه اندروید

#1
دو تا سوال دارم ...
1- چطور میتونیم فایل های صوتی رو که در اینترت قرار داده ایم  کاربر بتونه با کلیک روی دکمه ای اونها رو دانلود و در دفعات بعدی وقتی روی کلید پخش کلیک میکنه پخش بشه یعنی در بار اول موسیقی را دانلود و دفعات بعد فقط پخش کنه

2- و یه سوال دیگه اینکه اگه بخواهیم فایل های موسیقی که در یک لیست ویو قرار دارند از طریق بلوتوث برای دیگران قابلیت ارسال داشته باشند به چه شکل باید عمل کنیم
لطفا نمونه برنامه اگه کسی داره ممنون میشم ...
 
پاسخ

دانلود و اشتراک فایل صوتی در برنامه اندروید

#2
سلام. 
در مبحث زیر، نحوه دانلود یک فایل از یک آدرس اینترنتی (یک URL) شرح داده شده است :

http://www.kelidestan.com/android/android-96.php

بنابراین ابتدا گزینه دانلود فایل به کاربر نمایش داده می شود. 
برای تشخیص اینکه آیا فایل دانلود شده است یا نه، می توان از دو روش استفاده کرد.
روش اول، استفاده از SharedPreferences است که با آن می توانید مثلا اگر 100 فایل دارید، 100 متغیر تعریف کنید که تا زمانی که فایل دانلود نشده، مقدار 0 و هنگامی که فایلی دانلود می شود، به متغیر متناظر با آن، مقدار 1 را بدهید. برای آشنایی با SharedPreferences ، مبحث زیر را بخوانید (البته ابتدا روش دوم را هم بخوانید و بعد هر کدام که به نظرتان بهتر است، از آن استفاده کنید) :

http://www.kelidestan.com/android/android-88.php

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

برای پخش فایل صوتی، مبحث زیر را بخوانید (برنامه ای برای پخش فایل های صوتی با دو گزینه پخش و توقف) :

http://www.kelidestan.com/android/android-69.php

در زمینه ارسال فایل با bluetooth ، به زودی یک آموزش در سایت می نویسم که در مورد به اشتراک گذاری عکس است (فقط با bluetooth  نخواهد بود و با برنامه های دیگر گوشی نیز می توانید فایل را به اشتراک بگذارید)، فکر می کنم برای سایر فایل ها نیز مفید خواهد بود. در آن از Intent استفاده کرده ام. هر زمان که آن مبحث را در سایت قرار دادم، لینک را در همین موضوع خواهم نوشت (همین امروز و فردا، ان شاء الله).  

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

دانلود و اشتراک فایل صوتی در برنامه اندروید

#3
ممنون استاد عزیز
بی صبرانه منتظر آموزشهای خوبتون بخصوص اشتراک با بلوتوث هستم ...
در مورد ذخیره فایل هم روش دوم مطمئنا روش بهتری هست ولی در کد نمونه ای که در مورد دانلود یک فایل از یک آدرس اینترنتی (یک URL) معرفی کردید از کدوم روش استفاده شده ؟ یا از دو روش استفاده نشده و فقط فایل ذخیره میشه و برای پخش و یا اجرای فایل کدی نداره ؟
-------
راستش من میخوام سه دکمه بزارم
یکی برای دانلود - یکی برای پخش - و یکی هم برای توقف موقت
حالا میخوام وقتی برای بار اول دانلود کرد دکمه دانلود غیر فعال بشه و پیام بده که فایل قبلا دانلود شده و موجود هست ،  که هیچ مشکلی ندارم
و وقتی روی پخش کلیک شد از جایی که ذخیره میشه پخش بشه
حالا من با آموزش شما مسیر ذخیره رو براش مشخص میکنم
ولی برای پخش در دفعات بعدی چطور باید این مسیر رو بهش معرفی کنم که از اونجا فراخوانی بشه ؟
 
پاسخ
 سپاس شده توسط admin

دانلود و اشتراک فایل صوتی در برنامه اندروید

#4
بنده استاد نیستم، بیشتر هم کلاسی می باشم زیرا همانند شما در حال یادگیری هستم. 
مبحث زیر را در مورد به اشتراک گذاری (share) عکس ، با استفاده از Intent ، نوشتم :

http://www.kelidestan.com/android/android-157.php

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

کد:
intent.setType("image/jpeg");

که شما باید آن را به کد مناسب برای فایل های صوتی تغییر بدهید.

*******************************

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

http://www.kelidestan.com/android/android-80.php

این فولدر، مخصوص فایل های برنامه اندروید شما خواهد بود. همچنین، نام های مشخصی برای فایل های صوتی خود در نظر بگیرید، مثلا myFile-1.mp3 تا myFile-100.mp3 ، بنابراین بعدا با کدنویسی، به راحتی می توانید چک کنید که آیا یک فایل مشخص، قبلا در آن فولدر قرار داده شده یا خیر (دانلود شده است یا خیر).
بنابراین در ابتدای کدها، چک می کنید که فایل وجود دارد یا خیر، اگر وجود نداشت، دکمه دانلود باید فعال باشد و اگر وجود داشت، باید گزینه های پخش و توقف فعال باشد، که در مورد آنها، مباحثی را در ارسال قبل، معرفی کردم.
در مورد دسترسی به فایل های موجود در حافظه خارجی (External Storage)، نگاهی به مبحث زیر بیندازید که در مورد اجرای یک فایل apk موجود در حافظه خارجی می باشد :

http://www.kelidestan.com/android/android-110.php

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

دانلود و اشتراک فایل صوتی در برنامه اندروید

#5
من برای ایجاد فولدر این کد رو دادم :

کد:
File root = android.os.Environment.getExternalStorageDirectory();
File dir = new File (root.getAbsolutePath() + "/amirfolder");
dir.mkdirs();

و برای چک کردن اینکه آیا فایل از قبل دانلود شده و در پوشه ای که ساخته ام وجود دارد یا خیر این کد رو وارد کردم :

کد:
File file = new File("/dir/" + "8-Turkey.mp3");
if (file.exists ()){
Toast.makeText(getApplicationContext(), "فایل قبلا دانلود شده", Toast.LENGTH_LONG).show();
btnplay.setEnabled(true);
btnpause.setEnabled(true);
}

و بعد گفتم در غیر اینصورت ادامه دستورات اجرا بشه :

کد:
else{
// instantiate it within the onCreate method mProgressDialog = new ProgressDialog(MainActivity.this); // MainActivity = activity name mProgressDialog.setMessage("فایل در حال دانلود می باشد");
mProgressDialog.setIndeterminate(true);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgressDialog.setCancelable(true);
// execute this when the downloader must be fired
final DownloadTask downloadTask = new DownloadTask(MainActivity.this); // MainActivity = activity name downloadTask.execute("http://0up.ir/up6/8-Turkey.mp3"); // the url to the file you want to download mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
downloadTask.cancel(true);
}
});
}



و ادامه کد ها ...

وقتی برنامه رو اجرا میکنم خطا میده
اشکال از کجاست ؟

 
پاسخ

دانلود و اشتراک فایل صوتی در برنامه اندروید

#6
معمولا نمی توان با خواندن کدها، خطا را پیدا کرد، بنابراین بنده در خطایابی، خیلی نمی تونم به کاربران کمک کنم (حداقل در مواردی که چندین بخش دارد) و تنها توصیه می کنم که مرحله به مرحله کدنویسی کنید و تا از اجرای صحیح یک مرحله مطمئن نشده اید، برای سایر بخش ها، کد ننویسید.
در ضمن، کدهای تمامی مباحث سایت، توسط خود بنده تست شده اند و از این بابت خیالتان راحت باشد (من تا کدی را تست نکنم، آن را در سایت نمی نویسم).
در ضمن، چون در کدها متن فارسی نوشته اید، باید به صورت UTF-8 ذخیره شود که معمولا در برنامه eclipse ، وقتی متن فارسی می نویسید، خودش هنگام ذخیره، می پرسد که آیا می خواهید صفحه به صورت  UTF-8 ذخیره شود یا خیر.
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

دانلود و اشتراک فایل صوتی در برنامه اندروید

#7
ولی مشکل کد ها از فارسی نیست شما درست میگید در صورت نیاز به UTF-8 خود برنامه هشدار میده
اما مشکل من اینه که فایل صوتی من در فولدری که مشخص میکنم myfolder ذخیره نمیشه یعنی در آدرس دهی اشتباه دارم
وقتی در ریشه sdcard این کار رو میکنم درست اجرا میشه ولی وقتی یه فولدر میسازم بعد آدرس دهی میکنم خطا میده !

ضمنا در مورد share کردن هم آموزشتون رو بکار بردم که مشکل من اینه که وقتی فایل رو با بلوتوث برای دیگری میفرستم فقط چند ثانیه اولش ارسال میشه و کامل ارسال نمیشه

کدهایی که من برای این کار دارم خیلی کم هستن که پیوست میکنم براتون ( از طریق لینک دانلود)

ازتون خواهش دارم چک کنید ببینید مشکل از کجاست خیلی درگیرش شدم و خیلی کند دارم پیش میرم !
1- مخصوصا آدرس دهی برای پوشه ای بنام myfolder چطور هست ؟
و اینکه وقتی یه پوشه رو میسازم در دفعات بعد ممکنه چون از قبل ایجاد شده خطا بده یا نه
2- برای share چرا فایل موسیقی من کامل ارسال نمیشه آیا در کد چه تغییری لازم داره ؟

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

لینک دانلود
http://0up.ir/up6/d-T0.rar
 

 

 
پاسخ

دانلود و اشتراک فایل صوتی در برنامه اندروید

#8
سلام
استاد مثل اینکه غیر شما کسی پاسخگوی ما نیست
هر کاری میکنم این آدرس دهی درست انجام نمیشه ! فولدر ایجاد میشه ولی هم ذخیره نمیشه توش هم آدرس دهی برای فراخوانی مشکل دارم
البته در ریشه کارت حافظه مشکلی نیست ولی در فولدری که ایجاد میکنم ...
پاسخ

دانلود و اشتراک فایل صوتی در برنامه اندروید

#9
سلام.
زیاد عجله نکنید. هدف سایت کلیدستان این است که آموزش هایی در مورد بخش های مختلف کدنویسی ارائه شود تا دیگر برنامه نویسان، به راحتی موارد مورد نظرشان را پیدا کنند. بنابراین در انجمن نیز سعی می کنیم که موضوع مباحث به این صورت نباشد که یک پروژه کلی مطرح شده و تک تک اجزاء آن در همان مبحث شرح داده شوند، بلکه تنها پروژه مطرح می شود و سپس یک سری راهنمایی کلی ارائه می شود و آنگاه می توان هر بخش یا مشکل موجود در پروژه را که خود یک مبحث است، در یک موضوع جدید مطرح کرد (با این روند، در آینده پیدا کردن هر مبحث، بسیار ساده خواهد بود). 
در ضمن، اینجانب با توجه به اینکه زیاد زمان ندارم و دیگر کاربران نیز درخواست می دهند، وقت نمیکنم پروژه کاربران را بررسی کنم (اگر هم این کار صورت گیرد، بی فایده است چون امروز این مشکل حل می شود، اما فردا مشکل دیگری به وجود خواهد آمد).
سایت کلیدستان متعلق به شما و دیگر برنامه نویسان اندروید است و بنابراین سعی می کنم که همه موارد مورد نیازتان را در این سایت گردآوری کنم.

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

کد:
if( !path.exists() ) {
    // build folder
}

که در آن، path همان مسیر مربوط به پوشه (folder) مورد نظرتان است. (اگر در این زمینه مشکل داشتید، در یک موضوع جدید مطرح کنید)

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

دانلود و اشتراک فایل صوتی در برنامه اندروید

#10
به هر حال ممنون از اینکه در این زمینه با انگیزه دارید فعالیت میکنید
بدون اغراق باید بگم که سایت شما فوق العادست و یکی از بهترین سایتهای آموزشی هست که جای تشکر داره که بدون هیچ چشم داشتی دارید اطلاعات خودتون رو به اشتراک میزارید
واقعا باید قدر انسان هایی مثل شما رو دونست

راستش من با راهنمایی های خوب شما و مطالب مفید سایتتون و آزمایش و خطاهای فراوان بالاخره تونستم به اون چیزی که میخوام برسم و الان میتونم برنامه مورد نظرم رو شروع و تکمیل کنم و اینو مدیون شما هم هستم

اگه بخوام برنامه نویسی جاوا برای اینکه بتونم برای موبایل بخوبی برنامه بسازم رو یاد بگیرم چه منبعی رو معرفی میکنید ( منظورم یه کتاب خیلی کامل و خوب در این زمینه هست که بشه بصورت کاربردی و اصولی یاد گرفت )

بازم ممنون و خدا خیرتون بده
 
پاسخ
 سپاس شده توسط admin

دانلود و اشتراک فایل صوتی در برنامه اندروید

#11
راستی برای استفاده دوستان دیگه بگم ... کدی که برای ساخت پوشه استفاده کردم اینه :


کد:
final File root = android.os.Environment.getExternalStorageDirectory();
File dir = new File (root.getAbsolutePath() + "/myfolder");
if( dir.exists() ) {
//اینجا من چیزی نزاشتم با توجه به پروژم و درست جواب میداد
}
else{ dir.mkdirs()
}

برای فراخوانی فایل های موسیقی هم از این کد استفاده کردم :



کد:
mediaPlayer = MediaPlayer.create (null, Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/myfolder/" + "8-Turkey.mp3")));
mediaPlayer.setLooping(true);
mediaPlayer.setVolume(100,100);
mediaPlayer.start();

کلا با این آدرس دهی ها مشکلی که در این زمینه بود بر طرف شد ...
موفق باشید


 
پاسخ
 سپاس شده توسط admin

دانلود و اشتراک فایل صوتی در برنامه اندروید

#12
در مورد به اشتراک گذاری فایل صوتی، با استفاده Intent ، مبحث زیر را برایتان نوشتم :

http://www.kelidestan.com/android/android-160.php

این روش را تست کردم و هیچ مشکلی نداشت. با آن یک فایل mp3 را با Bluetooth به کامپیوترم ارسال کردم و اکنون در حال گوش دادن به آن هستم و کامل می باشد. 

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

دانلود و اشتراک فایل صوتی در برنامه اندروید

#13
(۱۳۹۳/۰۱/۰۸, ۱۲:۴۶ ق.ظ)'moralschool' نوشته: به هر حال ممنون از اینکه در این زمینه با انگیزه دارید فعالیت میکنید
بدون اغراق باید بگم که سایت شما فوق العادست و یکی از بهترین سایتهای آموزشی هست که جای تشکر داره که بدون هیچ چشم داشتی دارید اطلاعات خودتون رو به اشتراک میزارید
واقعا باید قدر انسان هایی مثل شما رو دونست

راستش من با راهنمایی های خوب شما و مطالب مفید سایتتون و آزمایش و خطاهای فراوان بالاخره تونستم به اون چیزی که میخوام برسم و الان میتونم برنامه مورد نظرم رو شروع و تکمیل کنم و اینو مدیون شما هم هستم

اگه بخوام برنامه نویسی جاوا برای اینکه بتونم برای موبایل بخوبی برنامه بسازم رو یاد بگیرم چه منبعی رو معرفی میکنید ( منظورم یه کتاب خیلی کامل و خوب در این زمینه هست که بشه بصورت کاربردی و اصولی یاد گرفت )

بازم ممنون و خدا خیرتون بده
 

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

دانلود و اشتراک فایل صوتی در برنامه اندروید

#14
(۱۳۹۳/۰۱/۰۸, ۰۱:۰۶ ق.ظ)'admin' نوشته: در مورد به اشتراک گذاری فایل صوتی، با استفاده Intent ، مبحث زیر را برایتان نوشتم :

http://www.kelidestan.com/android/android-160.php

این روش را تست کردم و هیچ مشکلی نداشت. با آن یک فایل mp3 را با Bluetooth به کامپیوترم ارسال کردم و اکنون در حال گوش دادن به آن هستم و کامل می باشد. 



 

ممنون
کد رو دیدم اما اگه فایل موسیقی روی گوشی کاربر نباشه خطا میده و از برنامه خارج میشه
که فکر کنم بهتره بگیم اگه وجود داشت به اشتراک گذاشته بشه و اگر نه یه پیام نشون بده
به این شکل از برنامه خارج نمیشه و خطا نمیده

----------
ضمنا در مورد اینکه گفته بودم فقط چند ثانیه اول رو ارسال میکنه فقط در دوبار اول که تست کردم یه بار بدون حجم ارسالش کرده بود و یه بار هم حدود 4 ثانیه ارسال کرده بود ولی در دفعات بعدی که چندین بار تست کردم هم روس کامپیوتر و هم موبایل دیگه مشکلی نداشت و فایل رو کامل ارسال میکنه
در اصل همون کدی هست که شما در این آموزش جدید نوشتید

 
پاسخ


پرش به انجمن:


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

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)