我一直在努力寻找更好的解决方案来暂停和恢复视频录制.据我所知,Media Recorder类不允许在Android 4.3或更低版本的录制期间暂停.
我发现mp4parser库可以将多个视频文件合并为一个视频文件.我正在使用以下罐子:
aspectjrt-1.7.3.jar
isoparser-1.0.6.jar
问题是将它们合并在一起需要太长时间.例如,总共约5分钟的2-3个视频文件需要至少2分钟才能合并它们!
我的Galaxy S3和Note 2附带的默认Camera应用程序,在视频录制中有暂停选项.他们暂停的视频只需不到1秒即可完成合并.
有人可以告诉我这里我做错了什么吗?
我使用下面的代码合并视频文件:
for (ArrayList<String> PathList : VideoList) {
VideoPathList = PathList;
}
for (String mMovie : VideoPathList) {
Movie movie = MovieCreator.build(mMovie);
MovieList.add(movie);
}
List<Track> videoTracks = new LinkedList<Track>();
List<Track> audioTracks = new LinkedList<Track>();
for (Movie mMovie : MovieList) {
for (Track t : mMovie.getTracks()) {
if (t.getHandler().equals("soun")) {
audioTracks.add(t);
}
if (t.getHandler().equals("vide")) {
videoTracks.add(t);
}
}
}
Movie result = new Movie();
if(audioTracks.size() > 0) {
result.addTrack(new AppendTrack(audioTracks.toArray(new Track[audioTracks.size()]))); …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用TYPE_ACCELEROMETER传感器获取电话角度。我的目标是仅在手机倾斜后才能获得角度值。可以,但是问题是当我将手机正面朝上放在桌子上时,仍然说isLandscape = true;
private boolean isLandscape;
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mSensorManager.registerListener(mSensorListener, mSensorManager.getDefaultSensor(
Sensor.TYPE_ACCELEROMETER),1000000);
private final SensorEventListener mSensorListener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent mSensorEvent) {
float X_Axis = mSensorEvent.values[0];
float Y_Axis = mSensorEvent.values[1];
double angle = Math.atan2(X_Axis, Y_Axis)/(Math.PI/180);
if(!isLandscape) {
if(angle > 80) {
Orientation = 90;
isLandscape = true;
}
}
else
{
if(Math.abs(angle) < 10) {
Orientation = 0; //portrait
isLandscape = false;
}
}
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
Run Code Online (Sandbox Code Playgroud)
仅在手机倾斜后才能获得手机角度的最佳方法是什么?对不起,英语不好,
谢谢。
我去了三星网站并下载了Media Control SDK包.当我在Galaxy S3 Android 4.3上使用AllShare Cast Video Player时,我的智能电视(在同一网络中)出现在AllShare Cast列表中.
然而,
当我在我的root Galaxy Note 2 Android 4.1.1上使用相同的应用程序时,我的智能电视(在同一网络中)没有显示在AllShare Cast列表中.
码:
public class DevicePicker extends Fragment implements OnClickListener,SmcDeviceFinder.StatusListener, SmcDeviceFinder.DeviceListener {
public interface DevicePickerResult {
void onDeviceSelected(SmcDevice device);
/**
* User clicked to disable AllShare
*/
void onAllShareDisabled();
}
/**
* The type of device we are interested in
*/
private int mType = SmcDevice.TYPE_AVPLAYER;
/**
* Listener to be notified of events
*/
private DevicePickerResult mPickerListener;
/**
* Device finder instance
*/ …Run Code Online (Sandbox Code Playgroud)