小编M.G*_*M.G的帖子

在Android中获取videoView的mediaPlayer

是否有可能获得对videoView正在使用的mediaPlayer实例的引用,最好是在它的ctor内?如果是这样,怎么样?

由于videoView没有mediaPlayer那么多的监听器,我希望能够访问mediaPlayer以获得额外的控制和更好的事件处理.

android android-mediaplayer android-videoview

18
推荐指数
1
解决办法
1万
查看次数

在maven中没有main.java的包名称

我使用标准的Maven目录布局在Eclipse中开发我的项目.源位于src/main/java/com/mycompany目录中.并且需要将我的源类放在main.java.com.mycompany包中.当我构建可执行jar文件时,我必须在Manifest.MF中定义主类,如:

    Main-Class: main.java.com.mycompany.MyMainClass
Run Code Online (Sandbox Code Playgroud)

但是我在很多例子中看到(比如在maven-assembly-plugin或maven-jar-plugin中配置mainClass属性),没有main.java部分指定了类名.我只想拥有

    Main-Class: com.mycompany.MyMainClass
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚我是如何实现这一点的,因为我在Maven中完全是新手.

java eclipse maven

18
推荐指数
1
解决办法
1万
查看次数

如何在mediaplayer中更改字幕

我可以分配一次字幕,但之后如果我试图改变字幕.它不接受新的,它每次显示前一个.

下面的代码我用来改变字幕.

 MediaPlayer mediaPlayer;

    public void changeSubtitle()
    {
    //disable subtitle if it has
    if(textTrackIndex!=0){    
    mediaPlayer.deselectTrack(textTrackIndex);
    textTrackIndex=0;
    mediaPlayer.setOnTimedTextListener(null);
    }

    //try to asssign new subtitle

                mediaPlayer
                        .addTimedTextSource(
                                (Environment.getExternalStorageDirectory()
                                        .getPath()
                                        + "/"+"filename",
                                MediaPlayer.MEDIA_MIMETYPE_TEXT_SUBRIP);
    int textTrackIndex = findTrackIndexFor(TrackInfo.MEDIA_TRACK_TYPE_TIMEDTEXT,mediaPlayer.getTrackInfo());

            if (textTrackIndex >= 0) {
                mediaPlayer.selectTrack(textTrackIndex);
            } else {
                Log.w(TAG, "Cannot find text track!");
            }
            mediaPlayer.setOnTimedTextListener(this);
    }

    private int findTrackIndexFor(int mediaTrackType, TrackInfo[] trackInfo) 
    {
            int index = -1;
            for (int i = 0; i < trackInfo.length; i++) {
                if (trackInfo[i].getTrackType() == mediaTrackType) {
                    return i;
                } …
Run Code Online (Sandbox Code Playgroud)

android subtitle android-mediaplayer

16
推荐指数
1
解决办法
1293
查看次数

导航架构组件 - 如何刷新片段?

我有一个 ListFragment 有一个 recyclerview 和 onClick 任何项目打开 DetailsFragment。详细信息片段在底部包含另一个显示“更多项目”的回收站视图。现在 onClick 任何这些项目应该打开该特定项目的 DetailsFragment。基本上片段需要刷新。

过去,我只会使用 fragmentManager 替换 fragment。我如何去刷新片段?如何创建指向同一个片段的动作?

android android-fragments android-architecture-components android-jetpack android-architecture-navigation

15
推荐指数
1
解决办法
6238
查看次数

为什么Android Studio不会在Android Pie(9.0)上运行应用程序?

我已将Google Pixel升级到Android 9.0/Pie.当我尝试从Android工作室运行应用程序时,我没有在列表中看到Google Pixel,只有一个名为null的设备FA69R0306649.当我运行我的应用程序时,Android工作室尝试安装应用程序,但随后失败.

看起来Android Studio不再能识别手机了.几个小时前,在Oreo(8.x)下工作得非常好.

此外,如果我将谷歌播放的应用程序部署为alpha,然后下载它在9.0/Pie下完美运行.

在Android Studio(3.1.4)下使用android 9.0手机运行/调试的任何建议?

演示图像

android android-emulator android-studio google-pixel android-9.0-pie

14
推荐指数
1
解决办法
5276
查看次数

测试LiveData转换?

我使用Android架构组件和反应式方法构建了一个启动画面.我从Preferences LiveData对象返回fun isFirstLaunchLD(): SharedPreferencesLiveData<Boolean>.我有ViewModel将LiveData传递给视图并更新首选项

val isFirstLaunch = Transformations.map(preferences.isFirstLaunchLD()) { isFirstLaunch ->
    if (isFirstLaunch) {
        preferences.isFirstLaunch = false
    }
    isFirstLaunch
}
Run Code Online (Sandbox Code Playgroud)

在我的片段中,我从ViewModel观察LiveData

    viewModel.isFirstLaunch.observe(this, Observer { isFirstLaunch ->
        if (isFirstLaunch) {
            animationView.playAnimation()
        } else {
            navigateNext()
        }
    })
Run Code Online (Sandbox Code Playgroud)

我想现在测试我的ViewModel,看看是否正确更新了isFirstLaunch.我该怎么测试呢?我是否正确分离了所有图层?你会对这个示例代码进行什么样的测试?

android android-testing android-livedata android-architecture-components android-jetpack

13
推荐指数
2
解决办法
711
查看次数

一起显示两个视频,然后在单个屏幕上作为合并视频输出

这个问题可能听起来有点复杂或含糊不清,但我会尽量让它尽可能清楚.我做了很多谷歌搜索并花了很多时间,但没有找到任何与Windows相关的东西.

我想在一个屏幕上播放两个视频.一个在背景中全屏,一个在顶部,在一个小窗口或小角度/高度在右角.然后我想要一个输出,其中包括两个视频在一个屏幕上一起播放.

所以基本上一个视频覆盖另一个,然后我希望将其作为输出流式传输,以便用户可以在以后播放该流.

我不是要求你编写整个代码,只是告诉我该做什么或如何做,或者我必须使用哪个工具或第三方SDK来实现它.

更新:尝试了很多解决方案.

1. Xuggler- 不支持Android.

2. JavaCVJJMPEG- 无法找到任何建议如何做的教程?

现在正在寻找FFMPEG-搜索了很长时间但却无法找到任何建议编码方式的教程.我找到了如何解决它的命令行方式.所以任何人都可以建议或指出FFMPEG的教程或告诉任何其他方式

android ffmpeg xuggler javacv android-videoview

11
推荐指数
1
解决办法
2534
查看次数

Android MediaPlayer错误(-38,0)"在状态0中停止调用"

我查看了各种不同的网站,在我的代码中寻找这个问题的解决方案.它是一个基本的音频播放器,有3个按钮:播放,暂停和停止.播放和暂停工作正常,所以停止但是一旦音频停止它就会拒绝再次启动,抛出一个错误:

E/MediaPlayer: stop called in state 0
E/MediaPlayer: error (-38, 0)
E/MediaPlayer: Error (-38,0)
Run Code Online (Sandbox Code Playgroud)

这是我的MainActivity.java:

import android.app.Activity;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.SeekBar;

import java.io.IOException;

public class MainActivity extends Activity implements MediaPlayer.OnPreparedListener {

    static Button playButton;
    static Button pauseButton;
    static Button stopButton;
    static SeekBar seekBar;
    private static MediaPlayer player;
static Handler handler;
static Uri audio;

@Override
protected void onCreate(Bundle savedInstanceState) {
    player = MediaPlayer.create(this, R.raw.airbourne_runnin_wild);
    Uri audio = Uri.parse("android.resource://" + …
Run Code Online (Sandbox Code Playgroud)

android android-mediaplayer

10
推荐指数
1
解决办法
3万
查看次数

从Android上的IP摄像头接收视频流

我有一台IP摄像机,它是MJPEG格式的流媒体视频.现在我的目标是接收它并在我自己的自定义Android应用程序中显示它.为此我在android平台上有三个编程选择:

  1. 使用内置的Anrdroid MediaPlayer类
  2. 在本机C中使用FFMPEG库并通过JNI访问它
  3. 在android上使用GStreamer端口接收流

那么请建议更好的解决方案?

我没有使用FFMPEG或GStreamer的经验.那么这样做的可行性是什么?

android ffmpeg gstreamer ip-camera android-mediaplayer

9
推荐指数
1
解决办法
5784
查看次数

在Android上玩HLS(比较替代方案)

我想讨论关于Android的HLS,想要学习价格,如何购买它们,以及你对这些玩家的体验.

Vitamio - http://www.vitamio.org/en/

Standart许可证是免费的,但它不支持自适应流媒体.是否有人测试过高级版或如何购买高级版

NexStreaming - http://www.nexstreaming.com/ 我发了邮件但没有回复.有人测试过吗?

Kaltura - http://www.kaltura.org/ 它看起来像一个开源替代品,但示例代码对我没用

还有其他的替代方案吗?你在Android上玩HLS的经历是什么?

谢谢..

android http-live-streaming kaltura vitamio

8
推荐指数
1
解决办法
4887
查看次数