设置铃声应用程序android



我想构建一个android应用程序。基本上,我有一个网站,在那里我有很多音乐分类,你可以从那里听或下载。我想使用我的应用程序来查看我的网站,我知道如何使用安卓工作室,我只需要改变一些事情。无论如何,我希望应用程序的背景/风格有所不同,我希望每次向我的网站添加新类别时,都能添加到我的应用程序中。起初,我想为每个类别制作一个按钮,但我意识到这行不通。无论如何,在应用程序中,你首先会看到的是类别,然后如果你点击其中一个,你会看到一个铃声列表,如果你点击一个铃声,你会有4个选项:设置为铃声,设置为通知,设置为警报。我知道这些东西的代码是什么,我不明白的是把它放在哪里,因为我希望我的应用程序使用我网站上的音乐,而不是把音乐作为资产然后设置它(这是我知道如何做的方式)。我知道这是多余的,但我还是个十几岁的孩子:)。我知道如何构建一个可以设置铃声的应用程序,我不知道如何为数百个我没有的铃声做这件事。有什么想法吗?也许是一个视频或一些阅读的东西

为了预览目的播放铃声,您有两个选项:您可以通过MediaPlayer类进行流式传输。这样做:

String url = "http://your-path";
MediaPlayer mPlayer = new MediaPlayer();
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.setDataSource(url);
mPlayer.prepare();
mPlayer.start();

但请记住,prepare()方法可能需要一段时间,它会阻塞UI线程。您需要使用prepareSync(),并在准备好时为其设置一个侦听器。

mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener(){
        @Override
        public void onPrepared(MediaPlayer mp) {
            mPlayer.start();
        }
});

但如果你也想在播放之前下载它,你可以使用这个库AQuery。如果你是android的新手,它真的可以帮助你轻松地进行http调用和异步下载。它的启动和使用如下:

AQuery aq = new AQuery(context);
File ringtoneFileToDownload = new File("http://path/to/your/online/ringtone");
aq.download(url, ringtoneFileToDownload, new AjaxCallback<File>(){
      @Override
      public void callback(String url, File file, AjaxStatus status) {
                //method is called when the download is finished
                //and the file parameter is the file downloaded
                //which you can play as above with the MediaPlayer class
        }
});

您可以使用上述方法将其下载到设备上,并将其保存在本地。

最后一件事是不要忘记在清单文件中添加所需的权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

相关内容