Можем ли мы воспроизвести аудиофайл из пути к файлам приложения? - PullRequest
0 голосов
/ 02 июля 2019

Я занимаюсь разработкой приложения для музыкального плеера mp3.Я хочу, чтобы в моем приложении воспроизводился аудиофайл, когда пользователь пытается воспроизвести аудиофайл из других приложений.

Когда пользователь пытается воспроизвести аудиофайл из приложения Xender , он будет открыт с помощьюдиалог приложения.В этом диалоговом окне пользователь выберет мое приложение, и приложение будет готово для воспроизведения выбранных песен.

Я пытаюсь воспроизвести песню в последней версии Android Pie.Я получил URL-адрес пути к файлу, но Android MediaPlayer не может воспроизводить аудио с указанным ниже путем.

/ data / user / 0 / com.mp3musicapp / files / mumbai dilli di kudiyaan- songs.pk - 320kbps.mp3

Так что, пожалуйста, помогите мне решить эту проблему.Я пытаюсь из последних 2 дней, но до сих пор не получаю никакого решения.Поэтому, пожалуйста, помогите мне в этом вопросе.Как мне решить эту проблему?

Код приложения:

Intent returnIntent = getIntent(); 
Uri returnUri = returnIntent.getData(); 
String mimeType = getContentResolver().getType(returnUri);

if (mimeType != null) {
                if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
                    if (filePathHelper.getPathnew(returnUri, getApplicationContext()) != null) {

                        audioRealPath = filePathHelper.getPathnew(returnUri, getApplicationContext()).toLowerCase();
                    } else {
                        audioRealPath = filePathHelper.getFilePathFromURI(returnUri, getApplicationContext()).toLowerCase();
                    }
                } else {
                    audioRealPath = filePathHelper.getPath(returnUri, getApplicationContext()).toLowerCase();
                }
            }

 Uri tempAudioUri = Uri.fromFile(new File(audioRealPath));


                File filePath = new File(tempAudioUri.toString());
                if (!filePath.exists()) {
                    filePath.createNewFile();
                }
                FileInputStream is = new FileInputStream(filePath);


                MediaPlayer mPlayer = new MediaPlayer();

                try {
                    mPlayer.setDataSource(is.getFD());
                } catch (IllegalArgumentException e) {
                    Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
                } catch (SecurityException e) {
                    Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
                } catch (IllegalStateException e) {
                    Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
                } catch (IOException e) {
                    e.printStackTrace();
                }

                try {
                    mPlayer.prepare();
                } catch (IllegalStateException e) {
                    Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
                } catch (IOException e) {
                    Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
                }

                mPlayer.start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...