Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
mediaplayer [2013/04/14 21:49] admin |
— (aktuell) | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Mediaplayer ====== | ||
| - | |||
| - | audio/AndroidManifest.xml | ||
| - | |||
| - | <code xml AndroidManifest.xml> | ||
| - | <?xml version="1.0" encoding="utf-8"?> | ||
| - | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
| - | package="com.example.audio" | ||
| - | android:versionCode="1" | ||
| - | android:versionName="1.0" > | ||
| - | |||
| - | <uses-sdk | ||
| - | android:minSdkVersion="8" | ||
| - | android:targetSdkVersion="16" /> | ||
| - | | ||
| - | |||
| - | <supports-screens | ||
| - | android:largeScreens="true" | ||
| - | android:normalScreens="true" | ||
| - | android:smallScreens="true" | ||
| - | android:resizeable="true" | ||
| - | android:anyDensity="true" /> | ||
| - | | ||
| - | <uses-permission android:name="android.permission.VIBRATE" /> | ||
| - | <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> | ||
| - | <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> | ||
| - | <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> | ||
| - | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | ||
| - | <uses-permission android:name="android.permission.INTERNET" /> | ||
| - | <uses-permission android:name="android.permission.RECEIVE_SMS" /> | ||
| - | <uses-permission android:name="android.permission.RECORD_AUDIO" /> | ||
| - | <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> | ||
| - | <uses-permission android:name="android.permission.READ_CONTACTS" /> | ||
| - | <uses-permission android:name="android.permission.WRITE_CONTACTS" /> | ||
| - | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | ||
| - | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | ||
| - | <uses-permission android:name="android.permission.GET_ACCOUNTS" /> | ||
| - | <uses-permission android:name="android.permission.BROADCAST_STICKY" /> | ||
| - | | ||
| - | <application | ||
| - | android:allowBackup="true" | ||
| - | android:icon="@drawable/ic_launcher" | ||
| - | android:label="@string/app_name" | ||
| - | android:theme="@style/AppTheme" > | ||
| - | <activity | ||
| - | android:name="com.example.audio.MainActivity" | ||
| - | android:label="@string/app_name" | ||
| - | android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"> | ||
| - | |||
| - | <intent-filter> | ||
| - | <action android:name="android.intent.action.MAIN" /> | ||
| - | |||
| - | <category android:name="android.intent.category.LAUNCHER" /> | ||
| - | </intent-filter> | ||
| - | </activity> | ||
| - | </application> | ||
| - | |||
| - | </manifest> | ||
| - | </code> | ||
| - | |||
| - | audio/src/com/example/audio/MainActivity.java | ||
| - | |||
| - | <code java MainActivity.java> | ||
| - | package com.example.audio; | ||
| - | |||
| - | import android.os.Bundle; | ||
| - | import android.view.Menu; | ||
| - | import org.apache.cordova.*; | ||
| - | |||
| - | public class MainActivity extends DroidGap { | ||
| - | |||
| - | @Override | ||
| - | public void onCreate(Bundle savedInstanceState) { | ||
| - | super.onCreate(savedInstanceState); | ||
| - | super.loadUrl("file:///android_asset/www/index.html"); | ||
| - | } | ||
| - | |||
| - | |||
| - | @Override | ||
| - | public boolean onCreateOptionsMenu(Menu menu) { | ||
| - | // Inflate the menu; this adds items to the action bar if it is present. | ||
| - | getMenuInflater().inflate(R.menu.main, menu); | ||
| - | return true; | ||
| - | } | ||
| - | | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | audio/assets/www/lib/css/meinecss.css | ||
| - | |||
| - | <code css meinecss.css> | ||
| - | h4 { | ||
| - | font-size:60px; | ||
| - | } | ||
| - | |||
| - | .schrift { | ||
| - | font-size:45px; | ||
| - | } | ||
| - | |||
| - | .rundeEcken { | ||
| - | -moz-border-radius: 4px; | ||
| - | -webkit-border-radius: 4px; | ||
| - | border-radius: 4px; | ||
| - | border-style: solid; | ||
| - | border-width: 1pt; | ||
| - | } | ||
| - | |||
| - | .ausrichtung{ | ||
| - | text-align: center; | ||
| - | } | ||
| - | #dauer{ | ||
| - | text-align:center; | ||
| - | margin-left: auto; | ||
| - | margin-right: auto; | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | audio/assets/www/index.html | ||
| - | |||
| - | <code html index.html> | ||
| - | <!DOCTYPE HTML> | ||
| - | <html> | ||
| - | <head> | ||
| - | <title>Cordova</title> | ||
| - | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | ||
| - | <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" /> | ||
| - | |||
| - | <link rel="stylesheet" href="lib/css/meinecss.css" type="text/css"/> | ||
| - | <script type="text/javascript" charset="utf-8" src="lib/js/cordova-2.5.0.js"></script> | ||
| - | <script type="text/javascript" charset="utf-8" src="lib/js/meineskripte.js"></script> | ||
| - | </head> | ||
| - | <body> | ||
| - | |||
| - | <h4 class="rundeEcken ausrichtung"> Mediaplayer </h4> | ||
| - | <div class="rundeEcken ausrichtung schrift"> | ||
| - | <button id="p"> | ||
| - | Play | ||
| - | </button> | ||
| - | <button id="s"> | ||
| - | Stop | ||
| - | </button> | ||
| - | <button id="pa"> | ||
| - | Pause | ||
| - | </button> | ||
| - | </div> | ||
| - | |||
| - | <div id="dauer" class="rundeEcken ausrichtung"> | ||
| - | <span id="gesamtdauer"></span> | ||
| - | <span id="pos"></span> | ||
| - | </div> | ||
| - | |||
| - | </body> | ||
| - | </html> | ||
| - | </code> | ||
| - | |||
| - | audio/assets/www/lib/js/meineskripte.js | ||
| - | |||
| - | <code javascript meineskripte.js> | ||
| - | var mediaDat = null; | ||
| - | var mediaTimer = null; | ||
| - | var pos = 0; | ||
| - | |||
| - | window.onload = function() { | ||
| - | |||
| - | document.addEventListener("deviceready", function() { | ||
| - | document.getElementById("p").addEventListener('click', function() { | ||
| - | var src = "/android_asset/www/sounds/Kalt_und_Kaelter-STS.mp3"; | ||
| - | //var src = "http://rjs.de/saturday.mp3"; | ||
| - | mediaDat = new Media(src, function() { | ||
| - | document.getElementById("gesamtdauer").innerHTML = ("Dauer: ### "); | ||
| - | document.getElementById("pos").innerHTML = (" - 0 sek"); | ||
| - | |||
| - | }, function(e) { | ||
| - | document.getElementById("gesamtdauer").innerHTML = ("Dauer: ### "); | ||
| - | document.getElementById("pos").innerHTML = (" - 0 sek"); | ||
| - | }); | ||
| - | |||
| - | mediaDat.play(); | ||
| - | mediaDat.seekTo(pos * 1000); | ||
| - | setTimeout(function() { | ||
| - | document.getElementById("gesamtdauer").innerHTML = ("Dauer: "); | ||
| - | |||
| - | if (mediaDat.getDuration() > -1) | ||
| - | document.getElementById("gesamtdauer").innerHTML += (mediaDat.getDuration()); | ||
| - | else | ||
| - | document.getElementById("gesamtdauer").innerHTML += ("###"); | ||
| - | }, 300); | ||
| - | |||
| - | if (mediaTimer == null) { | ||
| - | mediaTimer = setInterval(function() { | ||
| - | mediaDat.getCurrentPosition(function(position) { | ||
| - | if (position > -1) { | ||
| - | pos = position; | ||
| - | document.getElementById("pos").innerHTML = (" - " + (position) + " sek"); | ||
| - | } | ||
| - | }, function(e) { | ||
| - | document.getElementById("pos").innerHTML = (" - ### sek"); | ||
| - | }); | ||
| - | }, 1000); | ||
| - | } | ||
| - | }); | ||
| - | document.getElementById("s").addEventListener('click', function() { | ||
| - | |||
| - | if (mediaDat != null) { | ||
| - | mediaDat.stop(); | ||
| - | mediaDat.release(); | ||
| - | mediaTimer = null; | ||
| - | mediaDat = null; | ||
| - | pos = 0; | ||
| - | } | ||
| - | }); | ||
| - | document.getElementById("pa").addEventListener('click', function() { | ||
| - | if (mediaDat != null) { | ||
| - | mediaDat.pause(); | ||
| - | } | ||
| - | }); | ||
| - | }, false); | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | In audio/res/xml/config.xml die Berechtigungen prüfen | ||
| - | |||
| - | In audio/assets/www/index.html die cordova-Version prüfen | ||
| - | |||
| - | |||