2017-07-09 6 views
0

こんにちは、私と他のDJたちは私たちのミックスをサイトにアップロードして、自分のアプリに直接ストリーミングできるようにしたいと思っています。私はファイルをGoogleドライブに保存している瞬間です。彼らはダウンロードし、私はメディアプレーヤーを介して再生することができます。ユーザーがサイトから直接音楽をストリーミングできるようにしたいと考えています。サイト/サーバーからmp3をストリーミングする

1)音楽のアップロードにはどのサイトをおすすめしますか?私はfirebaseアカウントを持っていますか?これはアイデアですか、アップロードしたファイルのデータは高価でしょうか?あなたが勘定科目タイプに行くと、給料には私がいます。 **** EDIT のでfirebaseを行うため、実際の現実的な選択肢かもしれないことを発見アイブこの

それは最初にそれをダウンロードするのではなく、直接音楽をストリーミングするようにコードを実装するための最良の方法をどのようになるか

2) ?

****これは、実行可能な作ることができるインターネットをトロールしながら、EDIT IVEは、いくつかのコードを見つけましたが、私はこれは私が持っている私のコード

あるsetDatasourceに

をnullポインタエラーを取得するために縫い目この私のonchildはその後、私のonitemclickに私は

mp3url = urlList.get(i); 
fetchAudioUrlFromFirebase(); 
01を使用

final String url = dataSnapshot.child("url").getValue(String.class); 
    urlList.add(url); 

を追加しました

ついにmp3

private void fetchAudioUrlFromFirebase() { 
    String mp3 = mp3url; 
    final FirebaseStorage storage = FirebaseStorage.getInstance(); 
    storageRef = storage.getReferenceFromUrl(mp3); 
    storageRef.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() { 
     @Override 
     public void onSuccess(Uri uri) { 
      try { 
       // Download url of file 
       final String url = uri.toString(); 
       mMediaplayer.setDataSource(url); 
       // wait for media player to get prepare 
       mMediaplayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
        @Override 
        public void onPrepared(MediaPlayer mp) { 
         mp.start(); 
        } 
       }); 
       mMediaplayer.prepareAsync(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 

     } 
    }) 
      .addOnFailureListener(new OnFailureListener() { 
       @Override 
       public void onFailure(@NonNull Exception e) { 
        Log.i("TAG", e.getMessage()); 
       } 
      }); 

} 

をストリーミングするための方法は、これはnullポインタエラー

07-11 18:39:45.326 2565-2565/com.example.harrops.h20droidapp2 E/AndroidRuntime: FATAL EXCEPTION: main 
                      Process: com.example.harrops.h20droidapp2, PID: 2565 
                      java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.setDataSource(java.lang.String)' on a null object reference 
                       at com.example.harrops.h20droidapp2.Mixes$3.onSuccess(Mixes.java:198) 
                       at com.example.harrops.h20droidapp2.Mixes$3.onSuccess(Mixes.java:192) 
                       at com.google.android.gms.tasks.zze$1.run(Unknown Source) 
                       at android.os.Handler.handleCallback(Handler.java:751) 
                       at android.os.Handler.dispatchMessage(Handler.java:95) 
                       at android.os.Looper.loop(Looper.java:154) 
                       at android.app.ActivityThread.main(ActivityThread.java:6119) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
+0

質問(1)はプログラミングに関するものではないため、トピックにはなりません。質問(2)は広すぎるので、話題にもならない。 –

+0

それはプログラミングについて、ジョーはどうですか?助けてくれてありがとう – markharrop

+0

@JoeCはもう少しいいですか? – markharrop

答えて

1

以下の行は、mMediaPlayerがnullであることを意味します。

java.lang.NullPointerException: Attempt to invoke virtual method 
'void android.media.MediaPlayer.setDataSource(java.lang.String)' 
on a null object reference 

onSuccess(Uri uri)メソッドが呼び出される前にmMediaplayerが初期化されていることを確認してください。

mMediaplayer = new MediaPlayer(); 
+0

それはまさに私の問題でした#You Kim – markharrop

1

Q1と私の完全なlogcatです:私は、サイトについては考えているこれを行う、申し訳ありません

Q2:アンドロイドでMediaPlayerクラスを使用する方法を学ぶ必要があります。例:

String link = "your link.mp3"; //usually it's ends with .mp3 
Mediaplayer player = new MediaPlayer(); 
player.setDataSource(link); 
player.prepare();//prepare to play 
player.start(); 

これはすばやく簡単な例です。 これは必要に応じて編集できます。

+0

Mohadに感謝します。 firebaseを使って同様のものを見ただけで、それがうまくいくと結果が投稿されます。 – markharrop

+0

私の更新された質問を確認してくださいあなたの助けをありがとう – markharrop

+1

@markharropあなたは完全なスタックトレースを投稿できますか? – Mohad12211

関連する問題