获取有关音频的信息,在其他应用程序中播放

 长颈己 发布于 2023-01-19 14:25

如何获取有关其他应用程序播放音频的源(filedesc.或uri)的信息?

在AudioManager中,只有isMusicActive()方法,它不提供任何其他信息.因为它不是我的应用程序,我没有任何MediaPlayer对象.

1 个回答
  • 为已知的动作意图注册广播接收器并处理广播以显示或对轨道信息执行某些操作,来源:

    public class CurrentMusicTrackInfoActivity extends Activity {
    
        public static final String SERVICECMD = "com.android.music.musicservicecommand";
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            IntentFilter iF = new IntentFilter();
            iF.addAction("com.android.music.metachanged");
            iF.addAction("com.android.music.playstatechanged");
            iF.addAction("com.android.music.playbackcomplete");
            iF.addAction("com.android.music.queuechanged");
            iF.addAction("com.htc.music.metachanged");
            iF.addAction("fm.last.android.metachanged");
            iF.addAction("com.sec.android.app.music.metachanged");
            iF.addAction("com.nullsoft.winamp.metachanged");
            iF.addAction("com.amazon.mp3.metachanged");     
            iF.addAction("com.miui.player.metachanged");        
            iF.addAction("com.real.IMP.metachanged");
            iF.addAction("com.sonyericsson.music.metachanged");
            iF.addAction("com.rdio.android.metachanged");
            iF.addAction("com.samsung.sec.android.MusicPlayer.metachanged");
            iF.addAction("com.andrew.apollo.metachanged");
    
            registerReceiver(mReceiver, iF);
        }
    
        private BroadcastReceiver mReceiver = new BroadcastReceiver() {
    
            @Override
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
                String cmd = intent.getStringExtra("command");
                Log.v("tag ", action + " / " + cmd);
                String artist = intent.getStringExtra("artist");
                String album = intent.getStringExtra("album");
                String track = intent.getStringExtra("track");
                Log.v("tag", artist + ":" + album + ":" + track);
                Toast.makeText(CurrentMusicTrackInfoActivity.this, track, Toast.LENGTH_SHORT).show();
            }
        };
    
    }
    

    2023-01-19 14:28 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有