首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从另一个类- Android java调用MediaPlayer上的暂停

从另一个类- Android java调用MediaPlayer上的暂停
EN

Stack Overflow用户
提问于 2014-07-14 03:46:59
回答 1查看 393关注 0票数 0

我有一个名为NowPlayingActivity和VideosActivity的类。这两种情况都由TabHost处理。在应用程序开始时,NowPlayingActivity的mediaplayer将自动播放一首歌曲。当我转到视频活动时,会有一个可供播放的视频列表。我想要的是当我点击视频活动中的一个项目时,停止从NowPlayingActivity播放歌曲,这样歌曲就会在视频播放时停止播放。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void onItemClick(AdapterView parent, View v, int position, long id)
{
    NowPlayingActivity npa = new NowPlayingActivity();
    npa.pause();
    System.gc();
    videoColumnIndex = videoCursor.getColumnIndexOrThrow(
            MediaStore.Video.Media.DATA);
    videoCursor.moveToPosition(position);
    String filename = videoCursor.getString(videoColumnIndex);
    Log.i("FileName: ", filename);

    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri data = Uri.parse(filename);
    intent.setDataAndType(data, "video/*"); 
    startActivity(intent);
}

这是我的代码,开始并打算播放列表中选定的视频,然后在图库中播放它。

我尝试从NowPlayingActivity创建一个方法pause,然后在item click from videos活动中调用它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void pause(){

    if(mp.isPlaying()){
        if(mp!=null){
            mp.pause();
        }
    }
}

我不知道这是否可能,但除了这个,我想不出别的办法。

编辑:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Logcat
07-14 06:18:32.526: E/AndroidRuntime(979): FATAL EXCEPTION: main
07-14 06:18:32.526: E/AndroidRuntime(979): java.lang.NullPointerException
07-14 06:18:32.526: E/AndroidRuntime(979):  at com.example.prismmediaplayer.NowPlayingActivity.pause(NowPlayingActivity.java:410)
07-14 06:18:32.526: E/AndroidRuntime(979):  at com.example.prismmediaplayer.VideosActivity$1.onItemClick(VideosActivity.java:59)
07-14 06:18:32.526: E/AndroidRuntime(979):  at android.widget.AdapterView.performItemClick(AdapterView.java:298)
07-14 06:18:32.526: E/AndroidRuntime(979):  at android.widget.AbsListView.performItemClick(AbsListView.java:1086)
07-14 06:18:32.526: E/AndroidRuntime(979):  at android.widget.AbsListView$PerformClick.run(AbsListView.java:2855)
07-14 06:18:32.526: E/AndroidRuntime(979):  at android.widget.AbsListView$1.run(AbsListView.java:3529)
07-14 06:18:32.526: E/AndroidRuntime(979):  at android.os.Handler.handleCallback(Handler.java:615)
07-14 06:18:32.526: E/AndroidRuntime(979):  at android.os.Handler.dispatchMessage(Handler.java:92)
07-14 06:18:32.526: E/AndroidRuntime(979):  at android.os.Looper.loop(Looper.java:137)
07-14 06:18:32.526: E/AndroidRuntime(979):  at android.app.ActivityThread.main(ActivityThread.java:4745)
07-14 06:18:32.526: E/AndroidRuntime(979):  at java.lang.reflect.Method.invokeNative(Native Method)
07-14 06:18:32.526: E/AndroidRuntime(979):  at java.lang.reflect.Method.invoke(Method.java:511)
07-14 06:18:32.526: E/AndroidRuntime(979):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-14 06:18:32.526: E/AndroidRuntime(979):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-14 06:18:32.526: E/AndroidRuntime(979):  at dalvik.system.NativeStart.main(Native Method)
EN

回答 1

Stack Overflow用户

发布于 2014-07-14 04:06:18

将MediaPlayer放入主机活动中。然后您可以从NowPlayingActivityVideosActivity调用您的操作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24729251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文