آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

ذخیره ی صوت در دیتابیس یا ... ؟

Rassam  12 سال پیش  11 سال پیش
0 0

من تو برنامم چند تا متن دارم که از دیتابیس خونده میشن،میخوام صوتم واسشون بذارم،

حتما باید فایل های صوتی م رو تو دیتابیس و با استفاده از BLOB ذخیره کنم یا روش دیگه ای هم هست ؟

با تشکرِ قبلی

 

 

0 0
میشه تو پوشه ی raw هم ذخیره کرد بعد اسمشون رو تو دیتابیس ذخیره کنی (11 سال پیش)
0 0
منم تقریبا همین مشکل رو دارم. ولی مال من تصویره (11 سال پیش)
0 0
بعد چجوری باید مسیر دایرکتوری فولدر raw رو بدم؟ (11 سال پیش)
0 0
@Neutral مثل بقیه منابع : R.raw.music1 (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
mf2010  11 سال پیش
+1 0

برای این کار چون بهتره برای کاهش حجم نرم افزار از فایل های روی سرور استفاده کنیم من از این راه استفاده میکنم 

1- توی دیتابیستون یه فیلد به نام ahang اضافه کنید 

2-اونو توی DBadpter معرفیش کنید و توی Database چگونگی set و get رو معین کنید  مثلا مثل این 

 private String ahang;
public String getahang(){ return ahang; } public void Setahang(String ahang){ this.ahang = ahang; }


 

خوب حالا برای اینکه آهنگ رو پخش کنیم لینک آهنگ رو توی اون فیلد دیتابیسمون قرار میدم 

توی فایل کدمون اول یه  ProgressDialog   میذاریم  

  dialog = new ProgressDialog(this);
        dialog.setMessage("لطفا به اینترنت وصل شوید و منتظر بمانید");
        dialog.setCancelable(true);
        dialog.setInverseBackgroundForced(false);

حالا میریم سراغ اینکه اگه روی دکمه پلی کلیک شد چه اتفاقی بیوفته  

  play.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                String url = database.getEzafi(); // your URL here

                mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                try {
                    mediaPlayer.setDataSource(url);
                }
                catch (IllegalArgumentException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                catch (SecurityException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                catch (IllegalStateException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                mediaPlayer.prepareAsync();
                dialog.show();

                //You can show progress dialog here untill it prepared to play
                mediaPlayer.setOnPreparedListener(new OnPreparedListener() {

                    @Override
                    public void onPrepared(MediaPlayer mediaPlayer) {
                        //Now dismis progress dialog, Media palyer will start playing
                        mediaPlayer.start();
                        dialog.dismiss();

                    }
                });
                mediaPlayer.setOnErrorListener(new OnErrorListener() {

                    @Override
                    public boolean onError(MediaPlayer mediaPlayer, int what, int extra) {
                        // dissmiss progress bar here. It will come here when MediaPlayer
                        //  is not able to play file. You can show error message to user
                        return false;
                    }
                });

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

برای توقف پخش هم دکمه توقف  رو میسازیم 

 stop.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub

                stop();

            }
        });

 

 public void stop() {
        if (mediaPlayer.isPlaying()) {
            mediaPlayer.stop();
        }
    }

 

 

 

 

 

 

 

 

 

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .