Я занимаюсь разработкой приложения для музыкального плеера 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();