我正在开发一个小型电视应用程序,它使用许多 m3u8 格式的电视流。如果我使用本机 VideoView,所有流都可以正常工作。但我想使用 Vitamio 更好地支持不同的协议和视频编解码器。我将 Vitamio 添加到我的项目中,而不是原生 VideoView。这很容易,但我对所有流都有错误:“无法播放视频。抱歉,无法播放此视频。” 在 logcat 中:“ E/Vitamio[Player]: Error (1, -1094995529) ”我阅读了许多类似的文章如何添加 Vitamio,但找不到我做错了什么。
在清单中需要互联网访问,设备可以访问互联网。
还:
<activity android:name="io.vov.vitamio.activity.InitActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden"
android:launchMode="singleTop"
android:theme="@android:style/Theme.NoTitleBar"
android:windowSoftInputMode="stateAlwaysHidden"/>
在 module.app
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'me.neavo:vitamio:4.2.2'
}
这是我用于测试的代码:
import io.vov.vitamio.LibsChecker;
import io.vov.vitamio.MediaPlayer;
import io.vov.vitamio.widget.MediaController;
import io.vov.vitamio.widget.VideoView;
public class MainActivity extends AppCompatActivity {
VideoView vidView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vidView = (VideoView)findViewById(R.id.myVideo);
getSupportActionBar().hide();
if (!LibsChecker.checkVitamioLibs(this))
return;
vidView.setMediaController(new MediaController(this));
vidView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.setPlaybackSpeed(1.0f);
}
});
vidView.setVideoPath("http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8");
vidView.requestFocus();
}