Как воспроизвести звуки, которые хранятся в папке ресурсов или необработанных ресурсов, если конкретный файл для воспроизведения зависит от запроса SQLite?
Я нахожу способ воспроизведения звуков в моей папке ресурсов (res или assets, в зависимости от способа хранения), но файл, который будет загружен в soundpool или mediaplayer, зависит от запроса SQLite.
В настоящее время я делаю приложение-переводчик, которое отображает переводы слов или предложений через поисковую систему (просто отмечая, что это приложение - просто поисковая система, а не переводчик, такой как Google Translate). и мне нужна кнопка "произнести", которая будет воспроизводить, как произносится искомое слово на его диалект, и этот файл (он был предварительно записан) будет сохранен в папке ресурсов. Это похоже на то, что когда пользователь искал слово "яблоко", а кнопка была нажата, он будет воспроизводить "apple.mp3" в папке ресурсов.
Я только новичок в программировании для Android, и я ищу в Интернете и нашел ответы о звуковых пулах и медиаплеере, но я думаю, что раньше такого не видел.
1 ответ
Согласно моему комментарию:
- Создайте еще один столбец в вашей таблице базы данных
- Поместите ваши ссылки в этот столбец (т.е. R.raw.my_sound.mp3) (! Помните, что ссылка всегда int!)
Когда вы запрашиваете значение из этого столбца и используете его следующим образом (я не проверял его. Это больше похоже на псевдокод;)):
Cursor cursor = database.query(DATABASE_TABLE, new String[] { KEY_REFERENCES }, WORD + " = " + insertedWord, null, null, null, null); if (cursor.moveToFirst()){ int reference = cursor.getInt(referenceColumnIndex); MediaPlayer mp = MediaPlayer.create(YourActivityClass.this, reference); if(mp != null) { mp.start(); } }
Я думаю, что это должно работать.