• 1401/08/09

دانلود فایل mp3 و پخش آن :

با عرض سلام و خسته نباشید خدمت دوستان

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

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

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

ممنن میشم راهنمایی کنید چطور می تونم بعد از دانلود فایل اقدام به پخش ان بکنم؟

 

const dirs = RNFetchBlob.fs.dirs;
    RNFetchBlob.fs
      // .exists(`${dirs.DownloadDir}/test.pdf`)
      .exists(`${dirs.DownloadDir}/fatehe.mp3`)
      .then(async exist => {
        if (exist) {
          try {
            const granted = await PermissionsAndroid.request(
              PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
              {
                title: 'Music',
                message: 'App needs access to your Files... ',
                buttonNeutral: 'Ask Me Later',
                buttonNegative: 'Cancel',
                buttonPositive: 'OK',
              },
            );
            if (granted === PermissionsAndroid.RESULTS.GRANTED) {
              console.log('play...');
              RNFetchBlob.android
                .actionViewIntent(
                  // `${dirs.DownloadDir}/test.pdf`,
                  `${dirs.DownloadDir}/fatehe.mp3`,
                  // 'application/pdf',
                  'mp3',
                )
                .then(() => {
                  console.log('File opened');
                })
                .catch(e => {
                  console.warn('Unable to open file', e);
                });
            }
          } catch (err) {
            console.log(err);
          }
        } else {
          RNFetchBlob.config({
            fileCache: true,
            // appendExt: 'pdf',
            appendExt: 'mp3',
            addAndroidDownloads: {
              useDownloadManager: true,
              notification: true,
              // title: 'test.pdf',
              title: 'fatehe.mp3',
              // mime: 'application/pdf',
              // mime: 'application/mp3',
              description: 'media play',
              mediaScannable: true,
              // path: `${dirs.DownloadDir}/test.pdf`,
              path: `${dirs.DownloadDir}/fatehe.mp3`,
            },
            // path: `${dirs.DownloadDir}/test.pdf`,
            path: `${dirs.DownloadDir}/fatehe.mp3`,
          })
            .fetch(
              'GET',
              // 'https://download.novapdf.com/download/samples/pdf-example-encryption.pdf',
              // 'https://myapi.urmia.ir/api/motavafian/getfile/fatehe',
              'https://myapi.urmia.ir/api/motavafian/download/fatehe',
              {UniqueData: androidId, Authorization: 'Bearer ' + token},
            )
            .then(res => {
              RNFetchBlob.android.actionViewIntent(
                res.path(),
                // 'application/pdf',
                'mp3',
              );
            })
            .catch(e => {
              console.log(e);
            });
        }
      })
      .catch(e => {
        console.log(e);
      });
  • 1401/08/10
  • ساعت 19:18

سلام دوست من

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

یا اگر از React Native استفاده میکنی react-native-sound-player گزینه خوبی هست


  • 1401/08/11
  • ساعت 08:00

استاد بنده از React Native استفاده می کنم ،آیا امکانش هست mp3 داخل خود برنامه پخش بشه؟

نمیخوام هنگام پخش از برنامه خارج بشه و یا خود player نمایش داده بشه و کاربر بتونه موزیک را قطع کنه، بعد اتمام پخش mp3 بتونم event فراخوانی بکنم و کار خاصی انجام بدم.

چند تا کتابخانه پیدا کردم ولی متاسفانه در نسخه های متفاوت اندروید کارکردشون متفاوت هست.

استاد همچین امکانی در  react-native-sound-player هست؟    


  • 1401/08/11
  • ساعت 09:58

بنده از react-native-track-player استفاده کردم.

بدون اینکه player را نمایش بده نمی تونم پخش کنم.

تنظیماتش را نتونستم پیدا کنم.

 


  • 1401/08/11
  • ساعت 13:48

تستش نکردم ولی مستندات خوبی داره باید تست کنی 


logo-enamadlogo-samandehi