小编jac*_*ism的帖子

使用android MediaRecorder

以下是我录制视频和音频的工作代码的结构:

问题:1)为什么CamcorderProfile需要?setProfile(...)似乎将尺寸设置为QUALITY_HIGH给出的尺寸,但稍后我设置了我想要的尺寸setVideoSize(...),这将覆盖它.但是,当我删除两个CamcorderProfile行时,应用程序崩溃setVideoSize(...)与LogCat E/MediaRecorder(19526): setVideoSize called in an invalid state: 2.

2)我怎么不录音?文档说明如果setAudioSource(...)未调用,则不会有音轨.但是,当我删除该行时,应用程序setProfile(...)与LogCat 崩溃E/MediaRecorder(19946): try to set the audio encoder without setting the audio source first.

3)如果我删除了两个CamcorderProfile行和该setAudioSource(...)行,它会像1)中那样崩溃.

4)我也试过添加线

recorder.setOutputFormat(OutputFormat.DEFAULT);
Run Code Online (Sandbox Code Playgroud)

而不是CamcorderProfile线.但现在它崩溃了perpare().如果setAudioSource(...)调用LogCat是:E/MediaRecorder(20737): audio source is set, but audio encoder is not set如果没有调用LogCat是:E/MediaRecorder(20544): video source is set, but video encoder is not set

我已经看了整个互联网,我找不到一个正确的方法来设置MediaRecorder的一个很好的例子.意味着在API 8之后你应该使用CamcorderProfile类,但在我看来它引起了问题.

任何帮助都会很棒!谢谢!

代码(运行时如下):

recorder = …
Run Code Online (Sandbox Code Playgroud)

android mediarecorder

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

将片段附加到 Android 中的 Activity

我的旧版本 Android 应用程序使用 4 个不同的活动(FirstActivity => FourthActivity,相应的 xml Activity_first => Activity_fourth),并且该应用程序可以在使用Intent. 最近我想更改用户界面以使用ViewPagerIndicator. 我已经实现了 4 个这样的片段:

public class FirstFragment extends Fragment{
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
        return inflater.inflate(R.layout.activity_first, null);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,如何将FirstActivity的业务代码全部迁移到FirstFragment呢?我是否只需要找到 onCreate、onDestroy、onStart... 的等效项并复制/粘贴代码(在适当的情况下添加 getActivity()、getView())?有没有简单的方法将片段附加到活动以避免这样做?

android fragment android-activity viewpagerindicator

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

在Javascript中使用嵌套数组拼接

我有一个数组,其中所有元素也是数组(整数),被称为mainArray.我试图用来splice()添加和删​​除其元素(子阵列).

最初mainArray有一个元素(一个带有一个整数的数组),我希望删除它并添加3个新的子mainArray数组,这些是在arraysToAdd中定义的.

mainArray = new Array(new Array(1));
arraysToAdd = new Array(new Array(1,2), new Array(1,4), new Array(1,7));

alert(arraysToAdd.length); // Returns: 3: as expected

mainArray.splice(0,1,arraysToAdd);

alert(mainArray.length); // Returns: 1: I want this to be 3
Run Code Online (Sandbox Code Playgroud)

我希望最后的长度为mainArray3(因为它应该包含3个子数组),但它似乎splice()是扁平的arraysToAdd,因此mainArray最终只是一个整数数组.

我错过了什么?

javascript arrays splice

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