2010-06-24 72 views

回答

79

我找到了一種方法來做到這一點。

Intent intent = new Intent(); 
intent.setAction(android.content.Intent.ACTION_VIEW); 
File file = new File(YOUR_SONG_URI); 
intent.setDataAndType(Uri.fromFile(file), "audio/*"); 
startActivity(intent); 
+0

的作品就像一個魅力:) – Calvin 2013-09-16 14:00:05

+0

如何檢查媒體播放器應用程序是這不上了Nexus 6的工作設備 – 2014-01-20 07:01:38

+0

上availbe或沒有(在照片應用程序打開) – nbarraille 2015-07-24 21:21:48

19

要只需啓動音樂播放器做:

Intent intent = new Intent(MediaStore.INTENT_ACTION_MUSIC_PLAYER); 
startActivity(intent); 
+1

請注意,這隻適用於SDK API級別8以上。 – grzaks 2011-08-22 11:36:58

+0

plz你會告訴我什麼都應該寫完上述代碼後,你的幫助將會對我和其他人有用 – 2012-12-04 12:31:05

+4

請注意,此操作已棄用,以支持CATEGORY_APP_MUSIC – 2012-12-10 10:04:56

0

你也可以試試這個。

Intent intent = new Intent(MediaStore.INTENT_ACTION_MUSIC_PLAYER); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 
2
  if (Build.VERSION.SDK_INT >= 24) { 
       try { 
        Method m = StrictMode.class.getMethod("disableDeathOnFileUriExposure"); 
        m.invoke(null); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
      Intent intent = new Intent(); 
      intent.setAction(android.content.Intent.ACTION_VIEW); 
      File file = new File(YOUR_SONG_URI); 
      intent.setDataAndType(Uri.fromFile(file), "audio/*"); 
      startActivity(intent); 
0

有方式,通過它可以實現默認的音頻播放器數量,但這些都是設備和操作系統特定的。

通過這段代碼,你可以得到默認的音頻播放器。

try 
    { 
    Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW); 
    File file = new File("audiofilepath"); 
    String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString()); 
    String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); 
    myIntent.setDataAndType(Uri.fromFile(file),mimetype); 
    startActivity(myIntent); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    }