4package org.qtproject.qt.android.multimedia;
6import android.app.Activity;
7import android.content.Context;
8import android.media.MediaCodecInfo;
9import android.media.MediaCodecList;
10import android.view.OrientationEventListener;
11import android.webkit.MimeTypeMap;
12import android.net.Uri;
13import android.content.ContentResolver;
14import android.os.Environment;
15import android.media.MediaScannerConnection;
16import java.lang.String;
18import org.qtproject.qt.android.UsedFromNativeCode;
21import android.util.Log;
23class QtMultimediaUtils
25 static private class OrientationListener
extends OrientationEventListener
27 static int deviceOrientation = 0;
35 public void onOrientationChanged(
int orientation)
37 if (orientation == ORIENTATION_UNKNOWN)
40 deviceOrientation = orientation;
44 static private Context m_context =
null;
45 static private OrientationListener m_orientationListener =
null;
46 private static final String QtTAG =
"Qt QtMultimediaUtils";
48 static void setActivity(Activity qtMainActivity, Object qtActivityDelegate)
55 m_orientationListener =
new OrientationListener(
context);
62 static void enableOrientationListener(
boolean enable)
65 m_orientationListener.enable();
67 m_orientationListener.disable();
70 static int getDeviceOrientation()
72 return OrientationListener.deviceOrientation;
75 static String getDefaultMediaDirectory(
int type)
98 +
File.separator +
"Sounds");
105 return path.getAbsolutePath();
110 MediaScannerConnection.scanFile(m_context,
new String[] {
file },
null,
null);
113 static File getCacheDirectory() {
return m_context.getCacheDir(); }
122 private static String[] getMediaCodecs()
124 final MediaCodecList codecList =
new MediaCodecList(MediaCodecList.REGULAR_CODECS);
125 final MediaCodecInfo[] codecInfoArray = codecList.getCodecInfos();
127 for (
int i = 0;
i < codecInfoArray.length; ++
i)
128 codecs[i] = codecInfoArray[i].
getName();
134 Uri parsedUri = Uri.parse(
url);
138 String scheme = parsedUri.getScheme();
139 if (scheme !=
null && scheme.contains(
"content")) {
140 ContentResolver cR =
context.getContentResolver();
141 type = cR.getType(parsedUri);
143 String extension = MimeTypeMap.getFileExtensionFromUrl(
url);
144 if (extension !=
null)
145 type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
147 }
catch (Exception e) {
148 Log.e(QtTAG,
"getMimeType(): " + e.toString());
static const QString context()
const wchar_t * getName(QSslKeyPrivate::Cipher cipher)
GLsizei const GLchar *const * path
decltype(openFileForWriting({})) File
QUrl url("http://my.server.tld")