小编gbe*_*nce的帖子

在 Android Studio 3.6 中禁用 Gradle 离线模式

我将我的 Android Studio 应用程序更新到 Mac 上的最新版本到 Android Studio 3.6,版本:#AI-192.7142.36.36.6200805

当构建由于 Internet 连接问题而失败时,我看到了启用离线模式的选项(在构建输出区域左右),我是通过单击提供的链接来实现的。

后来,我需要禁用离线模式,并按照正常步骤操作:

转到首选项 > 构建、执行、部署 > Gradle。

但是在这个版本的 Gradle 选项上,没有检查离线工作复选框

我的问题是:

如何在最新版本的 Android Studio 下禁用离线模式?

android intellij-idea android-studio

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

使用媒体投影 API 在设备之间共享屏幕

我正在开发一个具有与其他应用程序共享屏幕功能的应用程序。

我为此使用了媒体投影 API。我还使用 MediaMuxer 组合音频和视频输出以进行屏幕共享。

我知道媒体投影 API 用于屏幕录制,但我只想在录制时共享屏幕。

为此,我修改了 MediaMuxer 类的 writeSampleData 方法,以通过套接字将字节发送到网络上的其他设备。

下面是代码:

OutputStream outStream;
Run Code Online (Sandbox Code Playgroud)

outStream = ScreenRecordingActivity.getInstance().socket.getOutputStream();

void writeSampleData(final int trackIndex, final ByteBuffer byteBuf, final MediaCodec.BufferInfo bufferInfo) {
    if (mStatredCount > 0) {
        mMediaMuxer.writeSampleData(trackIndex, byteBuf, bufferInfo);

        if (bufferInfo.size != 0) {

            byteBuf.position(bufferInfo.offset);
            byteBuf.limit(bufferInfo.offset + bufferInfo.size);

            if (outStream != null) {

                try {

                    byte[] bytes = new byte[byteBuf.remaining()];
                    byteBuf.get(bytes);

                    //Send the data
                    outStream.write(bytes);
                    outStream.flush();

                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

字节通过套接字成功传输,我也能够在接收器端接收这些字节。

下面是接收端接收字节的代码:

private class …
Run Code Online (Sandbox Code Playgroud)

android mediamuxer android-mediaprojection android-mediacodec

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