小编And*_*nko的帖子

Exoplayer(2.0.0)在播放实时HLS视频时给出BehindLiveWindowException

我在播放实时视频(HLS)一段时间后收到此异常,对于录制的视频,它工作正常.

    com.google.android.exoplayer2.source.BehindLiveWindowException
    at com.google.android.exoplayer2.source.hls.HlsChunkSource.getNextChunk(HlsChunkSource.java:255)
    at com.google.android.exoplayer2.source.hls.HlsSampleStreamWrapper.continueLoading(HlsSampleStreamWrapper.java:313)
    at com.google.android.exoplayer2.source.CompositeSequenceableLoader.continueLoading(CompositeSequenceableLoader.java:55)
    at com.google.android.exoplayer2.source.hls.HlsMediaPeriod.continueLoading(HlsMediaPeriod.java:198)
    at com.google.android.exoplayer2.ExoPlayerImplInternal.maybeContinueLoading(ExoPlayerImplInternal.java:1080)
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleContinueLoadingRequested(ExoPlayerImplInternal.java:1067)
    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:289)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:135)
    at android.os.HandlerThread.run(HandlerThread.java:61)
    at com.google.android.exoplayer2.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
Run Code Online (Sandbox Code Playgroud)

android http-live-streaming exoplayer exoplayer2.x

6
推荐指数
1
解决办法
1905
查看次数

从Jenkins读取build.gradle的versionName

我将Jenkins用于我的Android应用程序构建。在每个版本中,我都会得到一些信息,例如版本号等。

我正在寻找一种方法来读取Jenkins建立工作时的versionName价值build.gradle。我知道我们可以使用$BUILD_NUMBERenv变量获取buildNumber ,但是如何获取versionName

versioning android jenkins android-gradle-plugin

6
推荐指数
2
解决办法
3721
查看次数

在主模块中找不到库模块中的包

我有一个从 Eclipse 导入到 Android Studio 的项目。在 Eclipse 中一切都运行良好。

它包含一个主模块(Eclipse 中的项目),它使用库模块(Eclipse 中的库项目)中的包。由于迁移进展不顺利,我手动创建了一个库模块,并将所有源代码复制到新创建的模块中。

问题是主模块似乎没有找到库模块中的包,当我重建项目时,我收到诸如“包 bla bla 不存在”之类的错误。

这是主模块 gradle.build:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.0"

    defaultConfig {
        applicationId "com.pointer.mamagoose"
        minSdkVersion 9
        targetSdkVersion 21
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile project(':linphoneclean')
    compile 'com.android.support:support-v4:25.0.0'
    compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.google.android.gms:play-services:9.4.0'
    compile files('libs/firebase-client-android-2.5.0.jar')
    compile files('libs/apache-httpcomponents-httpclient.jar')
    compile files('libs/apache-httpcomponents-httpcore.jar')
    compile files('libs/android-support-v7-recyclerview.jar')
}
Run Code Online (Sandbox Code Playgroud)

linphoneclean 是库模块。

整个项目的settings.gradle:

include ':linphoneclean'
include ':tigris'
Run Code Online (Sandbox Code Playgroud)

这是库模块的build.gradle:

apply plugin: 'com.android.library'

android {
    compileSdkVersion …
Run Code Online (Sandbox Code Playgroud)

android module android-library android-studio

6
推荐指数
1
解决办法
5526
查看次数

好奇心向下/向上滑动动画和片段根据帖子日期填充

**简而言之:我想要gif中显示的滚动动画,当用户向下/向上滑动它直接进入项目时,它就像一个动画片.

对于Date片段,我猜它是a horizontal Recyclerview.

我看起来是一个答案是,滚动动画的代码示例,以及做日期事物的方法,我可以根据日期自动填充片段.

我之前已经问过这个问题并且问题不是那么清楚.这个应用程序包括向下滑动/向上风格.

当你向下或向上滑动时,应用程序不会让你像普通的Scrollview一样滑动,而是从第一次触摸(例如)它导航到下一篇文章.

重要说明是完整尺寸的帖子/项目(项目布局match_parent?).

此外,每个帖子都有一个日期,并且该应用程序包含一个日历,当您向左或向右滑动时,您导航到日期并根据您获得帖子的日期.

我想要的,提示或方法来做这样的事情.我想提供一个代码,但我试图在脑海里画上一条路但却无法用合乎逻辑的方式思考.

对于片段,我猜他们正在考虑now日期和帖子中最早的日期,并且基于他们制作(循环)片段,每个片段必须根据日期加载帖子(查询到API)给日期作为参数?).

无论如何,这是应用程序的GIF,它解释了我在说什么.我将为这个问题设置一个赏金,因为我渴望在我的应用程序中实现这样的功能.

https://gfycat.com/JadedMenacingAmericanalligator

android android-fragments

6
推荐指数
1
解决办法
172
查看次数

如何检索高质量的指南针方向(如谷歌地图)?

所有在Android中获取指南针方向的指南我都发现了一个错误:当您以纵向模式握住手机并"俯视"地平线时,指南针箭头从正确的方向转动180度.

Google地图方向指示器没有此问题.

谷歌地图的另一个好处是它们以某种方式估计罗盘精度.知道他们是怎么做到的吗?

android android-sensors compass-geolocation

6
推荐指数
2
解决办法
4399
查看次数

三星 Galaxy S7 中的 Android 通话录音

我正在开发 Android 通话录音应用程序。它在某些设备(MI 3S、HTC Desire 620、OPOO 等)上运行良好,但在三星 Galaxy S7 上出现问题。远程语音未在三星 Galaxy S7 中录音。当我使用 ACR 时,这个应用程序运行良好。所以,基本上我想知道他们在我的通话录音应用程序中缺少的 ACR 应用程序中使用了什么。我尝试了使用不同选项的应用程序AudioSourceOutputFormat并且AudioEncode但一切都是徒劳。

请帮我找出这个问题。

recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setAudioSamplingRate(8000);
recorder.setAudioEncodingBitRate(12200);
recorder.setOutputFile(audiofile.getAbsolutePath());
try {
    recorder.prepare();
} catch (IllegalStateException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
recorder.start();
Run Code Online (Sandbox Code Playgroud)

android

6
推荐指数
0
解决办法
368
查看次数

Android - ExoPlayer2 字幕

如何在 ExoPlayer2 上设置字幕?我试过这个 tu bild MergingMediaSource:

    SingleSampleMediaSource singleSampleSource = new SingleSampleMediaSource(Uri.fromFile(new File("/sdcard/Download/a.vtt")), mediaDataSourceFactory,
        Format.createTextSampleFormat(null, MimeTypes.TEXT_VTT, null, Format.NO_VALUE, C.SELECTION_FLAG_DEFAULT, "se", null, 0),
        50000 //in us
         );
return new MergingMediaSource(new ExtractorMediaSource(uri, mediaDataSourceFactory, new DefaultExtractorsFactory(),
        mainHandler, eventLogger), singleSampleSource);
Run Code Online (Sandbox Code Playgroud)

但我收到了这个错误:

 Unexpected exception loading stream
                                                         java.lang.NullPointerException: Attempt to get length of null array
                                                             at com.google.android.exoplayer2.source.SingleSampleMediaPeriod$SourceLoadable.load(SingleSampleMediaPeriod.java:272)
                                                             at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:295)
                                                             at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
                                                             at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                                                             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                                                             at java.lang.Thread.run(Thread.java:761)
Run Code Online (Sandbox Code Playgroud)

android subtitle exoplayer exoplayer2.x

5
推荐指数
1
解决办法
2459
查看次数

应用程序中的Android xml 在模块中找不到自定义视图

抱歉这个愚蠢的问题,我正在为许多应用程序制作一个模块。

我在我的模块 ( public class CustomView extends FrameLayout) 中创建了一个自定义视图类。

我已将此模块导入应用程序,应用程序中的类可以调用我的自定义视图,但 xml 无法调用我的自定义视图 ( compile project(':mymodule'))。

我还没有找到解决方案,谢谢大家的帮助。

xml android module

5
推荐指数
1
解决办法
1199
查看次数

如何在ExoPlayer 2中使用自定义数据源?

DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this,
    Util.getUserAgent(this, "yourApplicationName"), bandwidthMeter);
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
MediaSource videoSource = new ExtractorMediaSource(mp4VideoUri,
    dataSourceFactory, extractorsFactory, null, null);
player.prepare(videoSource);
Run Code Online (Sandbox Code Playgroud)

我如何在ExoPlayer 2中使用自定义数据源或AesCipherDataSource。我尝试在Google中搜索,但根本没有解决方案

android datasource exoplayer exoplayer2.x

5
推荐指数
1
解决办法
1048
查看次数

ggplot2:如何将变量的值分配给 ggplot 标题

在“一次性”过滤基础数据框后,如何将变量的值分配给 ggplot 标题。

library(tidyverse)

#THIS WORKS
d <- mtcars %>% 
  filter(carb==4)

d %>% 
  ggplot()+
  labs(title=paste(unique(d$carb)))+
  geom_bar(aes(x=am,
               fill=gear),
           stat="count")
Run Code Online (Sandbox Code Playgroud)



#THIS DOESN'T WORK

mtcars %>% 
  filter(carb==4) %>% 
  ggplot()+
  labs(title=paste(data=. %>% distinct(carb) %>% pull()))+
  geom_bar(aes(x=am,
               fill=gear),
           stat="count")
#> Error in as.vector(x, "character"): cannot coerce type 'closure' to vector of type 'character'

#THIS ALSO DOESN'T WORK

mtcars %>% 
  filter(carb==3) %>% 
  ggplot()+
  labs(title=paste(.$carb))+
  geom_bar(aes(x=am,
               fill=gear),
           stat="count")
#> Error in paste(.$carb): object '.' not found
Run Code Online (Sandbox Code Playgroud)

reprex 包(v0.3.0)于 2020 年 4 月 23 日创建

r ggplot2

5
推荐指数
1
解决办法
179
查看次数