部分代码:
publicvoid onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
System.loadLibrary("mmsPlayer");
this.btnPlay = ((Button) findViewById(R.id.btn));
aboutBtn = (Button) findViewById(R.id.aboutBtn);
this.tvScroll = (TextView) findViewById(R.id.tvScroll);
tvScroll.requestFocus();
try
{
System.loadLibrary("mmsPlayer");
Log.v("MMS", "load lib success");
} catch (UnsatisfiedLinkError localUnsatisfiedLinkError)
{
localUnsatisfiedLinkError.printStackTrace();
}
initmms();
btnPlay.setTag(STOP);
btnPlay.setEnabled(false);
// 更新
versionCheckExe();
if (com.TourismBroadcast.Util.NetWorkCheck
.note_Intent(MmsPlayerActivity.this))
{
MmsPlayerActivity.this
.openPlayer("mms://mediasrv2.iptv.xmg.com.cn/tour");
isFirstLogin=false;
} else
{
btnPlay.setEnabled(true);
btnPlay.setBackgroundResource(R.drawable.play);
btnPlay.setTag(REPLAY);
Toast toast = Toast.makeText(getBaseContext(), "请重新链接...",
Toast.LENGTH_SHORT);
toast.show();
}
btnClickListener();
}
/**
* 点击事件
*/
privatevoid btnClickListener()
{
aboutBtn.setOnClickListener(new OnClickListener()
{
@Override
publicvoid onClick(View v)
{
startActivity(new Intent(MmsPlayerActivity.this,AboutActivity.class));
}
});
btnPlay.setOnClickListener(new OnClickListener()
{
publicvoid onClick(View v)
{
if (btnPlay.getTag().equals(PLAY))
{
if (com.TourismBroadcast.Util.NetWorkCheck
.checkNetWork(MmsPlayerActivity.this))
{
MmsPlayerActivity.this.track.continueplay();
btnPlay.setBackgroundResource(R.drawable.stop);
btnPlay.setTag(STOP);
} else
{
btnPlay.setBackgroundResource(R.drawable.play);
btnPlay.setTag(REPLAY);
showNoticDialog();
}
} elseif (btnPlay.getTag().equals(STOP))
{
if (com.TourismBroadcast.Util.NetWorkCheck
.checkNetWork(MmsPlayerActivity.this))
{
MmsPlayerActivity.this.track.pause();
btnPlay.setBackgroundResource(R.drawable.play);
btnPlay.setTag(PLAY);
} else
{
btnPlay.setBackgroundResource(R.drawable.play);
btnPlay.setTag(REPLAY);
showNoticDialog();
}
} elseif (btnPlay.getTag().equals(REPLAY))
{
if (isFirstLogin)
{
Log.v("Replay", "firstLogin");
if (com.TourismBroadcast.Util.NetWorkCheck
.note_Intent(MmsPlayerActivity.this))
{
btnPlay.setEnabled(false);
MmsPlayerActivity.this
.openPlayer("mms://mediasrv2.iptv.xmg.com.cn/tour");
btnPlay.setBackgroundResource(R.drawable.stop);
btnPlay.setTag(STOP);
isFirstLogin = false;
} else
{
Toast toast = Toast.makeText(
MmsPlayerActivity.this, "请重新链接...",
Toast.LENGTH_SHORT);
toast.show();
btnPlay.setEnabled(true);
showNoticDialog();
}
}
else {
Log.v("Replay", "firstLoginnonononononono");
if (com.TourismBroadcast.Util.NetWorkCheck
.checkNetWork(MmsPlayerActivity.this))
{
MmsPlayerActivity.this.track.continueplay();
btnPlay.setBackgroundResource(R.drawable.stop);
btnPlay.setTag(STOP);
} else
{
btnPlay.setBackgroundResource(R.drawable.play);
btnPlay.setTag(REPLAY);
showNoticDialog();
}
}
}
}
});
}
publicvoid onDestroy()
{
super.onDestroy();
}
privateint javawmaDecoder()
{
int i = 0;
try
{
i = wmaDecoder();
} catch (Exception localException)
{
localException.printStackTrace();
// Log.e("mms", "javawmaDecoder 发生异常" +
// localException.getMessage());
}
return i;
}
/**
* 调用starplay
*
* @param paramString
*/
privatevoid openPlayer(String paramString)
{
if (this.mthread != null)
{
this.mthread = null;
}
this.mthread = new DecoderThread();
this.mthread.SetUrl(paramString);
this.mthread.start();
}
/**
* 播放
*
* @param paramString
* @return
*/
privateint startPlay(String paramString)
{
Log.v("paramString", paramString + "1111111111111111");
int i = openmms(paramString);// 初始化mms数据流
Log.v("paramString", paramString);
if (i != 0)
{
i = closemms();
return i;
}
int j = 0;
int l = 0;
j = wmachannels();
l = wmabit();
i = javawmaDecoder();
Log.v("iiiiiiiiiiiiiiiiiiiiiiiiiiii", i + "2222222222222222222");
this.track = new mmsTrack(wmasamplerate(), j, l);
this.track.init();
this.out = 1;
localPlayerThread = new PlayerThread();
Log.v("startPlayerThread", "22222222222222222222222");
localPlayerThread.start();
while (true)
{
if (i <= 0)
this.out = 0;
if (!com.TourismBroadcast.Util.NetWorkCheck
.note_Intent(MmsPlayerActivity.this))
{
// localPlayerThread=null;
// MmsPlayerActivity.this.track.release();
// MmsPlayerActivity.this.track.pause();
// btnPlay.setBackgroundResource(R.drawable.stop);
// btnPlay.setTag(PLAY);
handler.sendEmptyMessage(ChageToStop);
isReconnect = true;
} else
{
if (isReconnect == false)
{
try
{
i = javawmaDecoder();
Log.v("iiiiiiiiiiiiiiiiiiiiiiiiiiii", i + "11111111111");
} catch (Exception localException)
{
localException.printStackTrace();
}
} else
{
initmms();
i = closemms();
i = openmms("file://mms://mediasrv2.iptv.xmg.com.cn/tour");// 初始化mms数据流
// i=opi;
if (i != 0)
{
i = closemms();
return i;
}
Log.v("iiiiiiiiiiiiiiiiiiiiiiiiiiii", i
+ "2222222222111111111");
// this.track = new mmsTrack(wmasamplerate(), j, l);
// this.track.init();
this.out = 1;
Log.v("startPlayerThread", "2222222222221111111111111");
// MmsPlayerActivity.this.track.continueplay();
// btnPlay.setBackgroundResource(R.drawable.stop);
// btnPlay.setTag(PLAY);
isReconnect = false;
}
由于基于MMS格式的项目,网上资源很少,我们开发的这个尤为宝贵,同时这也是公司版权所在,不可能将整个项目公开。如果你急需要这样的项目,被这样的项目烦恼着。我们可以帮你,请加我们团队QQ:657406909