بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پخش استریم آنلاین در آندروید (آموزش)
ابتدا پلاگین vitamio رو از سایت گیت هاب دانلود کنید و کتابخانه اون رو به صورت صحیح وارد برنامه تون کنید:
کد زیر رو در اکتیویتی که می خواهید استریم آنلاین پخش کنید بگنجانید:
package com.example.name;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import io.vov.vitamio.LibsChecker;
import io.vov.vitamio.MediaPlayer;
import io.vov.vitamio.MediaPlayer.OnBufferingUpdateListener;
import io.vov.vitamio.MediaPlayer.OnInfoListener;
import io.vov.vitamio.widget.VideoView;
public class VideoStream extends Activity implements OnInfoListener, OnBufferingUpdateListener {
private static final String TAG = "VideoStream";
private String path;
private VideoView mVideoView;
private ProgressBar pb;
private TextView downloadRateView, loadRateView;
private Uri uri;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
if (!LibsChecker.checkVitamioLibs(this))
return;
setContentView(R.layout.video_stream);
//استریم آنلاین حرم امام رضا
path = "rtmp://185.23.131.187/live/flv:rozeh2";
mVideoView = (VideoView) findViewById(R.id.buffer);
pb = (ProgressBar) findViewById(R.id.probar);
downloadRateView = (TextView) findViewById(R.id.download_rate);
loadRateView = (TextView) findViewById(R.id.load_rate);
uri = Uri.parse(path);
mVideoView.setVideoURI(uri);
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus();
mVideoView.setOnInfoListener(this);
mVideoView.setOnBufferingUpdateListener(this);
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
// optional need Vitamio 4.0
mediaPlayer.setPlaybackSpeed(1.0f);
}
});
}
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
switch (what) {
case MediaPlayer.MEDIA_INFO_BUFFERING_START:
if (mVideoView.isPlaying()) {
mVideoView.pause();
pb.setVisibility(View.VISIBLE);
downloadRateView.setText("");
loadRateView.setText("");
downloadRateView.setVisibility(View.VISIBLE);
loadRateView.setVisibility(View.VISIBLE);
}
break;
case MediaPlayer.MEDIA_INFO_BUFFERING_END:
mVideoView.start();
pb.setVisibility(View.GONE);
downloadRateView.setVisibility(View.GONE);
loadRateView.setVisibility(View.GONE);
break;
case MediaPlayer.MEDIA_INFO_DOWNLOAD_RATE_CHANGED:
downloadRateView.setText("" + extra + "kb/s" + " ");
break;
}
return true;
}
@Override
public void onBufferingUpdate(MediaPlayer mp, int percent) {
loadRateView.setText(percent + "%");
}
}
بعد در شاخه layout فایل xml ی با نام video_stream.xml بسازید و المنت های زیر رو در اون پیست کنید:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<io.vov.vitamio.widget.CenterLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<io.vov.vitamio.widget.VideoView
android:id="@+id/buffer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</io.vov.vitamio.widget.CenterLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="horizontal" >
<ProgressBar
android:id="@+id/probar"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/download_rate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="" />
<TextView
android:id="@+id/load_rate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="" />
</LinearLayout>
</RelativeLayout>
در آخر فایل مانیفیست برنامه را باز کنید و اکتیویتی زیر را بدون هیچ تغییری بعد از تگ application بگذارید. به این ترتیب:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name">
<activity
android:name="io.vov.vitamio.activity.InitActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
android:launchMode="singleTop"
android:theme="@android:style/Theme.NoTitleBar"
android:windowSoftInputMode="stateAlwaysHidden" />
.
.
.
اگر برنامه ای با این پلاگین ساختید اینجا معرفی کنید.
موفق باشید.
+1
0
برنامه من با استفاده از این پلاگین: لینک (9 سال پیش)
0
0
من قبلا از این کتابخونه استفاده کرده بودم ولی مشکل داشت.صدا به درستی پخش میشد ولی تصویر به صورت اسلوموشن بود نمیدونم چرا.اگر نحوه اضافه کردن کتابخونه از گیت هاب رو هم آموزش بدی خیلی خوب میشه. (9 سال پیش)
0
0
من همچین مشکلی نداشتم، از گیت هاب دانلود کنید، بذارید کنار پوشه پروژتون، کتابخونه رو می تونید مثل یک برنامه از پیش ساخته شده وارد ایکلیپس کنید... (9 سال پیش)
0
0
هر کاری کردم نتونستم vitamio رو ایمپورت کنم ...
کلی ارور میده ...
لطفا آموزش ایمپورت کردن کتابخانه از سایت github رو میزارید ... (9 سال پیش)
0
0
(io.vov.vitamio.activity.InitActivity$UIHandler.handleMessage(InitActivity.java:81 - بعد از اجرای برنامه با این ارور مواجه میشم . کد مورد نظر که خطا گرفته :
("i.setClassName(src.getStringExtra("package"), src.getStringExtra("className
(9 سال پیش)
0
0
سلام. ممنون از پست خوبتون. برنامه رو اجرا کردم. ولی پیغام "sorry can not play this video" رو میده . البته اینم بگم که خط زیر رو از manifest حذف کرد. چون خطا میگرفت. android:c (9 سال پیش)
0
0
این خطا مربوط به آدرس استریم می باشد. یک آدرس دیگرو چک کنید... (9 سال پیش)
0
0
دومین لایبرری که شما ایمپورت کردین چیه؟ (android-uitableview) (9 سال پیش)
0
0
اون ربطی به پخش استریم نداره (9 سال پیش)
0
0
سلام .ممنون بابت پست خوبتون. اگه میشه بگید روش صحیح ایمپورت کردن چطوریه (9 سال پیش)
0
0
هیچ تفاوتی با ایمپورت کردن یک پروژه از پیش ساخته و سایر کتابخانه ها ندارد... (9 سال پیش)
0
0
من از همون سایت گیت هاپ که گفتید دانلودش کردم ولی وقتی ایمپورت میخوام بکنم .میگه نمیشه .
اینم لینکشhttp://www.pro.uploadpa.com/?file=1435609755174560_2015-06-27_21-03-33.jpg (9 سال پیش)
+1
0
برا ایمپورت کردن . یک پروژه new کنید . ولی from existing source رو انتخاب کنید و آدرس لایبرری رو بهش بدید. (9 سال پیش)
0
0
من هر کاری میکنم این پلاگین دانلود نمیشه .. اگه کسی این پلاگین رو داره ی جا آپ کنه تا دانلود کنم .. مرسی ♥
(9 سال پیش)
+1
0
امکان دریافت سورس کامل و جزئیات این برنامه در این لینک قابل مشاهده می باشد: answers.uncox.com/android/question/10811 (9 سال پیش)
0
0
لینک (9 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .