我在Android中创建了一个音乐播放器应用程序.现在,当在手机的文件管理器中选择音乐文件时,我希望我的应用程序显示为"使用完整操作"弹出窗口中的一个选项.我的想法是使用意图过滤器来做到这一点,但我不知道我需要提供什么动作,类别或数据.如何为此创建一个intent过滤器?
我在这里也看到了一个相关的问题:如何制作一个用于流式传输MP3文件的intent-filter?但我的不是流媒体,我只是从文件播放音乐.
先感谢您.
好的,我正在Android Studio中创建一个名为Fall Down 4的应用程序.现在,我需要知道一旦我运行我的应用程序,我是否可以播放音乐.
我知道如果你点击某个按钮就开始播放音乐,但这不是我想要的.我想知道如果有什么办法,当我运行我的应用程序时,它只是开始播放音乐.
例如:许多游戏在您运行时在后面播放音乐,然后您可以在设置中选择将其关闭.一场比赛将落入Delux,音乐一直播放,直到我按下关闭按钮.
所以请告诉我,如果有任何方法可以做我上面解释的内容.
谢谢.
我创建了一个应用程序来扫描手机上的音乐文件。如果我扫描文件夹/sdcard/Music,它会扫描音乐文件,但在我写入/sdcard时它不会扫描 mp3 文件。它工作正常。但它在某些设备上不起作用,应用程序崩溃可能是因为该手机上不存在该路径我该怎么办?
代码
public class SongsManager {
// SDCard Path
String MEDIA_PATH = new String("/sdcard/Music");
private ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();
// Constructor
public SongsManager() {
}
/**
* Function to read all mp3 files from sdcard
* and store the details in ArrayList
*/ public ArrayList<HashMap<String, String>> getPlayList(){
File home = new File(MEDIA_PATH);
if (home.listFiles(new FileExtensionFilter()).length > 0) {
for (File file : home.listFiles(new FileExtensionFilter())) {
HashMap<String, String> song = new HashMap<String, …Run Code Online (Sandbox Code Playgroud) Uri uri = MediaStore.Audio.Artists.Albums.getContentUri("external",
artistId);
String[] projection = new String[] {BaseColumns._ID};
Cursor cursor =
mContext.getApplicationContext().getContentResolver().query
(uri,
projection,
null,
null,
null);
Run Code Online (Sandbox Code Playgroud)
在 Android 10 之前,BaseColumns._ID 返回专辑 ID,现在在 10 中,它返回一些随机 ID。
当我将投影传递为 null 并检索下面的所有列名时,我得到的列名。这是在 Android 10 中。 [numsongs、artist、numsongs_by_artist、album、album_art、album_key、artist_id、maxyear、minyear、album_id]
Android 10 以下没有 _id 列。
要获得 10 中的专辑 ID,我必须使用以下投影
String[] projection = new String[]
{MediaStore.Audio.Artists.Albums.ALBUM_ID};
Run Code Online (Sandbox Code Playgroud)
对于下面相同的 Uri 是我在 Android 10 以下获得的可用列。 [album_art、maxyear、minyear、artist、album、artist_key、numsongs_by_artist、_id、numsongs、album_key、artist]
这里没有专辑_id 列,_id 返回专辑_id。现在在 10 中是不可用的。
现在我需要使用不同的代码来获取专辑 ID,一个用于 Android 10,另一个用于低于 Android 10。
这些变化在 Android 10 行为变化中没有列出。这对我们来说是非常关键的变化,像这样的一个小变化可能会破坏我们每天有 150 万人使用的整个应用程序。
怎么会有人像这样改变而不让开发人员知道呢?(或)我在文档中遗漏了什么。(或)如何跟踪这些更改?
android mediastore android-music-player android-contentprovider android-10.0
我正在为Android制作音乐播放器,我想为用户提供功能,以便从last.fm获取一首歌的专辑封面.
我也有我的API密钥.只需要帮助从Last.fm检索图像.
获得图片网址的任何帮助也将不胜感激.
提前致谢.
PS:有关我的音乐播放器的更多信息,请查看以下链接 https://plus.google.com/u/0/communities/115046175816530349000
我正在开发音乐播放器应用程序.根据我的项目,我有一个列表视图,显示歌曲列表和另一个列表视图,显示最近播放的歌曲.所以,当我从歌曲列表视图列表中选择一个特定的歌曲,显示在最近播放的歌曲listview.But当我从歌曲列表视图中选择相同的歌曲时,它也可以显示在最近的列表视图上,我使用自定义列表视图适配器.
所以,我想在最近的歌曲列表中只显示一首不重复选择的歌曲.
这是我最近的歌曲列表Screenshote
这是歌曲片段列表
public class Playlists extends ListFragment {
EditText edtSearch;
SongAdapter songAdapter;
SongsManager songsManager = new SongsManager();
private static final int ALERT_DIALOG = 1;
// Songs list
public ArrayList<SongModel> songsList = new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View windows = inflater.inflate(R.layout.playlist, container, false);
return windows;
}
@Override
public void onViewCreated(View v, Bundle savedInstanceState) {
super.onViewCreated(v, savedInstanceState);
getListView().setFastScrollEnabled(true);
//ListView animation
LayoutAnimationController controller
= AnimationUtils.loadLayoutAnimation(
getActivity(), R.anim.list_layout_controller);
getListView().setLayoutAnimation(controller);
edtSearch = (EditText)getView().findViewById(R.id.search);
final ArrayList<SongModel> …Run Code Online (Sandbox Code Playgroud) 我必须开发一个音乐播放器应用程序,并且在这个应用程序中必须刷过不同的活动(与google播放音乐相同的界面,您可以在其中滑动不同的部分).我想只有一个页面(主页面),有不同的标签我可以轻扫.因为我也是android开发的新手(尽管熟悉java).我很难理解这些标签是不同的活动,我是否需要使用片段等等.我很失落如何开始构建实际的应用程序(从界面,活动等开始).如果有人能给我一些建议并向我介绍一些好的教程,我将不胜感激.
谢谢.
java android development-environment project audio-player android-music-player
06-19 12:36:06.181: E/Inside log(15543): /sdcard/songs/(04) Fall Out Boy - Sugar, We're Goin' Down [2005].mp3
06-19 12:36:06.286: E/IMediaMetadataRetriever(15543): extractMetadata error
06-19 12:36:06.391: E/SQLiteLog(15543): (1) near "re": syntax error
06-19 12:36:06.421: E/AndroidRuntime(15543): FATAL EXCEPTION: main
06-19 12:36:06.421: E/AndroidRuntime(15543): android.database.sqlite.SQLiteException: near "re": syntax error (code 1): , while compiling: insert into SongDataBase(name,artist,genre,composer,albumname,year,path) values('Sugar, We're Goin' Down','Fall Out Boy','Punk','null','From Under The Cork Tree','2005','/sdcard/songs/(04) Fall Out Boy - Sugar, We're Goin' Down [2005].mp3')
Run Code Online (Sandbox Code Playgroud)
码:
if(name!=null)
{
if(name.contains("'"))
{
name.replaceAll("'", "\'");
}
}
if(genre!=null)
{
if(genre.contains("'")) …Run Code Online (Sandbox Code Playgroud) android ×8
audio-player ×7
albumart ×1
android-10.0 ×1
intentfilter ×1
java ×1
last.fm ×1
listview ×1
mediastore ×1
project ×1
sqlite ×1