小编Vol*_*lyk的帖子

滑行.缓存到外部存储(SD卡)

我使用Glide在我的Android应用程序中加载图像.
3.5更新后,开发人员提供了GlideModule接口.
根据这篇文章(Disk Cache)我可以设置缓存目录,使用setDiskCache方法和ExternalCacheDiskCacheFactory.
但我没有看到任何区别.所有缓存仍在默认缓存目录中的内部存储上.


build.gradle:

dependencies {
    ...
    compile 'com.github.bumptech.glide:glide:3.6.1'
}
Run Code Online (Sandbox Code Playgroud)

Android清单:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application ...>
<meta-data
        android:name="com.myapp.GlideConfig"
        android:value="GlideModule" />
</application>
Run Code Online (Sandbox Code Playgroud)

GlideConfig.java:

public class GlideConfig implements GlideModule {
    @Override
    public void applyOptions(Context context, GlideBuilder builder) {
        String state = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(state)) {
            Log.e("GlideConfig", "MEDIA_MOUNTED");
            builder.setDiskCache(
                context.getString(R.string.app_name),
                        419430400));//400Mb
            //Environment.getExternalStorageDirectory().getPath()
            // + "/"
            // + context.getString(R.string.app_name)
        }
        else {
            Log.e("GlideConfig", …
Run Code Online (Sandbox Code Playgroud)

android android-glide

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

Android Camera2 API YUV_420_888到JPEG

我正在使用OnImageAvailableListener获取预览帧:

@Override
public void onImageAvailable(ImageReader reader) {
    Image image = null;
    try {
        image = reader.acquireLatestImage();
        Image.Plane[] planes = image.getPlanes();
        ByteBuffer buffer = planes[0].getBuffer();
        byte[] data = new byte[buffer.capacity()];
        buffer.get(data);
        //data.length=332803; width=3264; height=2448
        Log.e(TAG, "data.length=" + data.length + "; width=" + image.getWidth() + "; height=" + image.getHeight());
        //TODO data processing
    } catch (Exception e) {
        e.printStackTrace();
    }
    if (image != null) {
        image.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

每次数据长度不同但图像宽度和高度相同.
主要问题:data.length对于3264x2448这样的分辨率来说太小了.
数据阵列的大小应为3264*2448 = 7,990,272,而不是300,000 - 600,000.
怎么了?


imageReader = ImageReader.newInstance(3264, …
Run Code Online (Sandbox Code Playgroud)

java android camera2 android-camera2

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

Android Java Youtube API v3.0获取视频RTSP链接

我想播放youtube视频Surface,使用MediaPlayer.
所以,我应该把那里直接视频链接.
问题是:如何在Android设备上获取此链接?

像这样的链接:http://gdata.youtube.com/feeds/api/videos/VIDEO_ID
不再可用.可能是因为旧的和不推荐使用的API v2.0.
但是这个网络服务不知怎的做了.
结果链接工作完美.所以它仍然有可能.

java youtube android youtube-api

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

swift AVCapturePhotoOutput capturePhoto 挂起预览

以 1080 x 1440 显示预览;使用代码在 iPhone 8 Plus 上获取最大分辨率 (3024 x 4032) 和质量的照片:

capturePhotoOutput?.capturePhoto(with: configurePhotoSettings(), delegate: self)
Run Code Online (Sandbox Code Playgroud)

使用照片设置:

private func configurePhotoSettings() -> AVCapturePhotoSettings {
    let photoSettings = AVCapturePhotoSettings()
    photoSettings.isHighResolutionPhotoEnabled = true
    photoSettings.isAutoStillImageStabilizationEnabled = (capturePhotoOutput?.isStillImageStabilizationSupported)!
    photoSettings.isAutoDualCameraFusionEnabled = (capturePhotoOutput?.isDualCameraFusionSupported)!

    return photoSettings
}
Run Code Online (Sandbox Code Playgroud)

即使我在didFinishProcessingPhoto.


正在寻找使捕获顺利的解决方案,也许在后台线程中,但目前我被卡住了..

ios ios-camera swift

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

如何使用MediaPlayer同时播放多首曲目?

我有8个mp3文件.而且我必须同时播放(不是很接近.肯定会).
我正在使用' AudaCity '来控制精度.但是我的代码没有给我想要的结果......
(异步= 30~90 ms)
所以,这是我的代码:(
首次开始播放)

public void start() {
//songInfo.getMediaPlayer() - it's array of MediaPlayers, source already setted
        for (MediaPlayer player : songInfo.getMediaPlayer()) {
            try {
                if (player != null) {
                    player.prepare();
                    player.seekTo(0);
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }       
        }
        songInfo.getMediaPlayer()[0]
                .setOnCompletionListener(new OnCompletionListener() {
                        @Override
                        public void onCompletion(MediaPlayer mp) {
                            //code for play next setlist
                        }
        });
        resume();
}
Run Code Online (Sandbox Code Playgroud)

(暂停)

public void pause() {
        for (MediaPlayer player : songInfo.getMediaPlayer()) {
            if (player …
Run Code Online (Sandbox Code Playgroud)

android android-mediaplayer

4
推荐指数
1
解决办法
2634
查看次数

Android Camera2 API设置了自定义亮度,对比度,伽玛

由于还没有明确的答案,并且stackoverflow还没有关于Camera 2 API Gamma的问题/答案,因此我寻求使用Android Camera 2 API修改亮度,对比度和Gamma的解决方案。
我的代码来获取范围步骤

Rational controlAECompensationStep = characteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_STEP);
if (controlAECompensationStep != null) {
    compensationStep = controlAECompensationStep.doubleValue();
}

Range<Integer> controlAECompensationRange = characteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE);
if (controlAECompensationRange != null) {
    minCompensationRange = controlAECompensationRange.getLower();
    maxCompensationRange = controlAECompensationRange.getUpper();
}
Run Code Online (Sandbox Code Playgroud)

我的方法以百分比设置亮度

public void setBrightness(int value) {
    int brightness = (int) (minCompensationRange + (maxCompensationRange - minCompensationRange) * (value / 100f));
    previewRequestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, brightness);
    applySettings();
}
private void applySettings() {
    try {
        captureSession.setRepeatingRequest(previewRequestBuilder.build(), null, …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-camera2

4
推荐指数
1
解决办法
4692
查看次数

Auth.GOOGLE_SIGN_IN_API不能与Games.API一起使用

我试图连接GoogleApiClientGames.APIAuth.GOOGLE_SIGN_IN_API(用于获取用户资料信息).
得到此错误:

java.lang.IllegalStateException: Auth.GOOGLE_SIGN_IN_API cannot be used with Games.API
Run Code Online (Sandbox Code Playgroud)

码:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestProfile()
                .build();

googleApiClient = new GoogleApiClient.Builder(activity)
                .addConnectionCallbacks(connectionCallbacks)
                .addOnConnectionFailedListener(onConnectionFailedListener)
                .addApi(Games.API).addScope(Games.SCOPE_GAMES)
                .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
                .build();
Run Code Online (Sandbox Code Playgroud)

为什么我不能用Games.APIAuth.GOOGLE_SIGN_IN_API
我有什么选择连接Games.API并获取用户档案信息?

android google-api-client google-play-games google-signin

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

如何直接使用 Android 的 Twilio TURN 服务器(服务器、客户端)

我在 Android 设备上有libstreaming RTSP服务器(打开一些端口并等待客户端p2p 连接)。
我能够通过本地网络连接到服务器。对于外部p2p 连接,我必须使用STUN / TURN
我读了很多关于Twilio 的文章。他们写了关于TURN server: NETWORK TRAVERSAL 的文章,但实际上并没有提供如何使用它的清晰示例。他们有一些我不需要的现成解决方案。
是否可以将Twilio直接用作视频流的TURN服务器,而无需任何附加功能?
如果没有,我有什么选择?

android p2p rtsp twilio turn

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