2017-01-12 7 views
0

codenameoneに基づいてアプリケーションを開発しています。今私はバックグラウンドで音を再生しようとします。残念ながら、私はそのためのコードサンプルを見つけられませんでした。私は動作しませんでした以下、持ってcodenameoneでオーディオを再生する方法

唯一のもの:

InputStream uri = getClass().getResourceAsStream("startsound.mp3"); 
    try { 
     findMediaPlayer().setDataSource(uri,"audio/mpeg",null); 
    } catch (IOException ex) { 

    } 
    findMediaPlayer().run(); 

誰もがその問題のためのサンプルコードがありますか?

答えて

1

オーディオ録音/再生アプリの小さなサンプルを含め、こののコードサンプルのためdeveloper guideをチェックアウト:

Form hi = new Form("Capture", BoxLayout.y()); 
hi.setToolbar(new Toolbar()); 
Style s = UIManager.getInstance().getComponentStyle("Title"); 
FontImage icon = FontImage.createMaterial(FontImage.MATERIAL_MIC, s); 

FileSystemStorage fs = FileSystemStorage.getInstance(); 
String recordingsDir = fs.getAppHomePath() + "recordings/"; 
fs.mkdir(recordingsDir); 
try { 
    for(String file : fs.listFiles(recordingsDir)) { 
     MultiButton mb = new MultiButton(file.substring(file.lastIndexOf("/") + 1)); 
     mb.addActionListener((e) -> { 
      try { 
       Media m = MediaManager.createMedia(recordingsDir + file, false); 
       m.play(); 
      } catch(IOException err) { 
       Log.e(err); 
      } 
     }); 
     hi.add(mb); 
    } 

    hi.getToolbar().addCommandToRightBar("", icon, (ev) -> { 
     try { 
      String file = Capture.captureAudio(); 
      if(file != null) { 
       SimpleDateFormat sd = new SimpleDateFormat("yyyy-MMM-dd-kk-mm"); 
       String fileName =sd.format(new Date()); 
       String filePath = recordingsDir + fileName; 
       Util.copy(fs.openInputStream(file), fs.openOutputStream(filePath)); 
       MultiButton mb = new MultiButton(fileName); 
       mb.addActionListener((e) -> { 
        try { 
         Media m = MediaManager.createMedia(filePath, false); 
         m.play(); 
        } catch(IOException err) { 
         Log.e(err); 
        } 
       }); 
       hi.add(mb); 
       hi.revalidate(); 
      } 
     } catch(IOException err) { 
      Log.e(err); 
     } 
    }); 
} catch(IOException err) { 
    Log.e(err); 
} 
hi.show(); 

enter image description here

1

codenameoneの場合にこれを含めることができるかどうかは確かではありません。しかし、uが試すことができます: -

MediaPlayer player = MediaPlayer.create(this, R.raw.music); 
player.setLooping(true); // Set looping 
player.setVolume(100,100); 

public int onStartCommand(Intent intent, int flags, int startId) { 
    player.start(); 
    return 1; 
} 

@Override 
public void onDestroy() { 
    player.stop(); 
    player.release(); 
} 

public void onStart(Intent intent, int startId) 
{ 
    // TODO 
} 

またはUは、ここでの議論を参照することができます:Play Background Sound in android applications

関連する問題