设置铃声app android

时间:2015-02-12 12:01:34

标签: android web ringtone

我想构建一个Android应用程序。基本上,我有一个网站,我有很多类别的音乐,从那里你可以听或下载。我想使用我的应用程序来获取我的网站的移动视图,我知道如何使用android studio,我只需要更改一些内容。无论如何,我希望应用程序的背景/风格不同,我希望每次我向我的网站添加一个新类别,添加到我的应用程序。起初,我想为每个类别制作一个按钮,但我意识到它不起作用。 无论如何,在应用程序中,你会看到的第一件事是类别,然后如果你点击其中一个,你会看到一个铃声列表,如果你点击一个铃声,你将有4个选项:设置为铃声,设置为通知,设置为闹钟。我知道这些东西的代码是什么,我不明白在哪里放置它,因为我希望我的应用程序使用我网站上的音乐,而不是将音乐作为资产然后设置它(那是方式我知道怎么做)。我知道这是多余的,但我是一个少年:))。我知道如何构建一个可以设置铃声的应用程序,我不知道如何为数百个我没有作为资产的铃声做到这一点。 请问一些想法?也许是视频或其他东西可以阅读

1 个答案:

答案 0 :(得分:0)

要播放铃声用于预览,您有两种选择: 您可以通过MediaPlayer类流式传输它。 这是这样做的:

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

但请记住,prepare()方法可能需要一段时间才能阻止UI线程。你需要使用prepareAsync()并在准备好时为它设置一个监听器。

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" />