Android应用上的视频流与Raspberry Pi上的动作

时间:2014-11-17 20:02:55

标签: java android mplayer

我试图通过使用Android Studio编写的Android应用程序查看我的Raspberry Pi上的动态直播...我使用mplayer复合了这段代码:

public class MainActivity extends ActionBarActivity implements SurfaceHolder.Callback, MediaPlayer.OnPreparedListener {
private MediaPlayer mediaPlayer;
private SurfaceHolder vidHolder;
private SurfaceView vidSurface;
String vidAddress = "http://www.example.com/";

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    vidSurface = (SurfaceView) findViewById(R.id.surfView);
    vidHolder = vidSurface.getHolder();
    vidHolder.addCallback(this);

}

@Override
public void surfaceCreated(SurfaceHolder holder) {
    try {
        mediaPlayer = new MediaPlayer();
        mediaPlayer.setDisplay(vidHolder);
        mediaPlayer.setDataSource(vidAddress);
        mediaPlayer.prepare();
        mediaPlayer.setOnPreparedListener(this);
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

    }
    catch(Exception e){
        e.printStackTrace();
    }
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {

}

@Override
public void onPrepared(MediaPlayer mp) {
    mediaPlayer.start();
}
}

但它不起作用。如果我输入流媒体视频(不是直播)的网址,例如:www.something.com/vid.mp4就可以了。 (是的,我在清单上添加了互联网许可)。有人可以帮帮我吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

我注意到你在最后插入一个没有文件的网址 - 这可能是你的原因。 Motion使用文件stream.mjpg,因此默认情况下本地地址为http://hostip:8081/stream.mjpg

来源:http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionGuideBasicFeatures#Webcam_Server