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

ایجاد دکمه ای برای کپی فایل در حافظه و پخش آن با پلیرهای اکسترنال(مثل ام ایکس)

ایوب شمسی  11 سال پیش  11 سال پیش
+4 0

اول از همه از یکی از کاربران عزیز معذرت خواهی کنم قرار بود دو روز قبل این کد رو تحویلوشون بدم ولی خوب به علت مسافرت نشد.امیدوارم که بنده رو ببخشید

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

 

  ImageView ImageView1 = (ImageView) findViewById(R.id.ImageView1);
        ImageView1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

            ایجاد دایرکتوری    File shortMusicDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES);
             ساختن دایرکتوری   shortMusicDir.mkdirs();
 دقت در نام و گسوند فایل ادرس دهی فایل موردنظر    File musicFile = new File(shortMusicDir, R.raw.a + ".mp4");
             کپی کردن فایل با استفاده از تابع   copyRawFileToSdCard(FortestActivity.this, R.raw.a, musicFile);
                Uri uri = Uri.fromFile(musicFile);
              اینتنت موردنظر برای فایل  Intent intent = new Intent(Intent.ACTION_VIEW);
               تنظیم نوع فایل intent.setDataAndType(uri, "video/*");
                intent.putExtra(Intent.EXTRA_STREAM, uri);
              اجرای فایل با دیالوگ پرسش و انتخاب  startActivity(Intent.createChooser(intent, "Complete action using"));
             شروع اینتنت   startActivity(intent);

            }

            private void copyRawFileToSdCard(FortestActivity firstghary, int a, File musicFile) {
                InputStream in = getResources().openRawResource(R.raw.a);
                FileOutputStream out = null;
                try {
                    out = new FileOutputStream(musicFile);
                }
                catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                byte[] buff = new byte[1024];
                int read = 0;

                try {
                    while ((read = in.read(buff)) > 0) {
                        out.write(buff, 0, read);
                    }
                }
                catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } finally {
                    try {
                        in.close();
                    }
                    catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                    try {
                        out.close();
                    }
                    catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        });
 
0 0
up (11 سال پیش)
 برای این سوال پاسخی وجود ندارد.

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