Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的媒体播放器要求_Android_Streaming_Android Mediaplayer - Fatal编程技术网

Android中的媒体播放器要求

Android中的媒体播放器要求,android,streaming,android-mediaplayer,Android,Streaming,Android Mediaplayer,我正在用Android开发一个媒体播放器应用程序。这有点冗长,但请仔细阅读并提出解决方案 该应用程序有第一个屏幕,显示无线电台列表。当用户单击这些电台中的任何一个时,应用程序将转到显示播放、暂停和停止控件的第二个屏幕。第二个屏幕中的活动还将启动一项服务,该服务将准备媒体播放器并开始播放媒体。现在我有两个要求 我想在媒体尚未开始播放时显示进度状态。它应该显示在第二个屏幕的顶部&一旦媒体开始播放,它就会消失。我该怎么做?是在启动服务的活动中还是在服务本身中执行 现在,当媒体播放时,我想通过按后退按钮

我正在用Android开发一个媒体播放器应用程序。这有点冗长,但请仔细阅读并提出解决方案

该应用程序有第一个屏幕,显示无线电台列表。当用户单击这些电台中的任何一个时,应用程序将转到显示播放、暂停和停止控件的第二个屏幕。第二个屏幕中的活动还将启动一项服务,该服务将准备媒体播放器并开始播放媒体。现在我有两个要求

  • 我想在媒体尚未开始播放时显示进度状态。它应该显示在第二个屏幕的顶部&一旦媒体开始播放,它就会消失。我该怎么做?是在启动服务的活动中还是在服务本身中执行
  • 现在,当媒体播放时,我想通过按后退按钮返回第一个屏幕(或者可能退出应用程序)。但是音乐应该继续播放,除非我从第一个屏幕选择其他电台(新音乐将启动),或者从通知面板返回应用程序,然后停止音乐 有人能建议最好的方法吗?是否有任何示例代码可用于实现这一点


    感谢

    要显示状态对话框,请查看从UI活动调用的ProgressDialog。要使服务继续播放,您需要使用startService而不是bindService


    要显示状态对话框,请查看从UI活动调用的ProgressDialog。要使服务继续播放,您需要使用startService而不是bindService


    关于你的第二个问题,我有解决办法。 有两种方法可以做到这一点

  • 正如您所说,创建一个活动,其中显示播放/暂停媒体控件。各自的服务将继续在后台发挥作用

  • 第二种方法是,您可以在您的播放活动中初始化mediaplayer对象。不要担心您的mediaplayer将继续在后台播放,直到任务管理器杀死它为止。(请注意,即使您正在关闭活动,mediaplayer也将继续播放音乐)

  • 第二种方法是选择和播放活动SingleInstance

    static MediaPlayer mediaplayer;
     @Override
     public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.radio_play_layout);
    
     //here check for one thing, **mediaplayer is null or not**. If mediaplayer is null than ur activity is **starting** and u need to have data from selection activity that i need to play this station & If your mediaplayer is not null than you are coming from **notification or widget** , put some IntExtra with pendingIntent to verify that you are actually starting activity from notification or widget.
    
      if(mediaplayer!=null && (getIntent.getIntExtra("verifier",0)==786)){
    
            //show ur currently playing stations details and control butttons.becaz activity is started from notification or widget.
    
      }else{
    
            //Initialize your mediaplayer , setlayout & startplaying 
    
      }
      }
    

    关于你的第二个问题,我有解决办法。 有两种方法可以做到这一点

  • 正如您所说,创建一个活动,其中显示播放/暂停媒体控件。各自的服务将继续在后台发挥作用

  • 第二种方法是,您可以在您的播放活动中初始化mediaplayer对象。不要担心您的mediaplayer将继续在后台播放,直到任务管理器杀死它为止。(请注意,即使您正在关闭活动,mediaplayer也将继续播放音乐)

  • 第二种方法是选择和播放活动SingleInstance

    static MediaPlayer mediaplayer;
     @Override
     public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.radio_play_layout);
    
     //here check for one thing, **mediaplayer is null or not**. If mediaplayer is null than ur activity is **starting** and u need to have data from selection activity that i need to play this station & If your mediaplayer is not null than you are coming from **notification or widget** , put some IntExtra with pendingIntent to verify that you are actually starting activity from notification or widget.
    
      if(mediaplayer!=null && (getIntent.getIntExtra("verifier",0)==786)){
    
            //show ur currently playing stations details and control butttons.becaz activity is started from notification or widget.
    
      }else{
    
            //Initialize your mediaplayer , setlayout & startplaying 
    
      }
      }
    

    这里有几个问题如果我在UI活动中显示ProgressDialog,我将如何知道何时关闭它,因为音乐将在我创建的服务中播放。这里有几个问题1。如果我在UI活动中显示ProgressDialog,我将如何知道何时关闭它,因为音乐将在我创建的服务中播放。我的UI活动如何知道音乐已经开始。UI活动是否有与服务2通信的方法。如果我使用startService,我是否能够使用UI活动中的播放/暂停控件来控制音乐?我将如何沟通服务以启动/停止等。此外,在稍后的某个时候,如果我需要停止服务(当用户决定播放其他电台时),我将如何做?如果您不使用标准媒体播放器控件,您可能需要使用AIDL。我没有理解您。我必须使用标准的媒体播放器控件。我在做一些非标准的事情吗?请帮助更详细地解释检查此项:。如果我在UI活动中显示ProgressDialog,我将如何知道何时关闭它,因为音乐将在我创建的服务中播放?这里有几个问题1。如果我在UI活动中显示ProgressDialog,我将如何知道何时关闭它,因为音乐将在我创建的服务中播放。我的UI活动如何知道音乐已经开始。UI活动是否有与服务2通信的方法。如果我使用startService,我是否能够使用UI活动中的播放/暂停控件来控制音乐?我将如何沟通服务以启动/停止等。此外,在稍后的某个时候,如果我需要停止服务(当用户决定播放其他电台时),我将如何做?如果您不使用标准媒体播放器控件,您可能需要使用AIDL。我没有理解您。我必须使用标准的媒体播放器控件。我在做一些非标准的事情吗?请帮助更详细地解释检查此项:。如果不写代码,我真的无法更深入地回答。