Naar content
Trending apps
  • Google Duo: videogesprekken van hoge kwaliteit

  • Gmail

  • Maps: Navigatie en OV

  • WhatsApp Messenger

  • Messenger: gratis sms'en en videobellen

Trending games
  • Fortnite

  • Minecraft Earth

  • Dr. Mario World

  • Harry Potter: Wizards Unite

  • Breaking Bad: Criminal Elements

Trending smartphones
  • OnePlus Nord N10 5G

  • POCO X3

  • Google Pixel 5

  • Google Pixel 4a

  • OnePlus Nord

Nieuwste tablets
  • Samsung Galaxy Tab S6

  • Samsung Galaxy Tab A 10.5

  • Samsung Galaxy Tab S4

  • Samsung Galaxy Tab S3 9.7

  • Asus Zenpad 3S 10

Wij werken momenteel aan een nieuw forum voor Androidworld. Het is daarom momenteel niet mogelijk om te reageren of nieuwe topics aan te maken.

bartfukkink

  • Lid sinds 11 februari 2011
  • Berichten 358
  • Reputatie 0
  • #1
  • 25 maart 2011
  • 08:53

Aangezien mijn laptopje gisteravond de geest heeft gegeven post ik de code die ik tot nu toe verzameld heb voor het ontwikkelen van een widget waarmee je het media volume kan regelen maar even hier… Dan kunnen andere mensen er mee bezig om er een complete widget van te maken.

Deze code heb ik zelf ontwikkeld van verschillende voorbeelden op het internet. Er zitten totaal geen rechten aan verbonden, gebruik het naar eigen wil en op eigen risico. (een vermelding is natuurlijk wel altijd welkom ^^)


VolumeWidget.java:

package nl.andurin.AndroidVolumeWidget;

import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.media.AudioManager;
import android.util.Log;
import android.widget.RemoteViews;

public class VolumeWidget extends AppWidgetProvider {

//Use the AudioManager to get the volume stream
AudioManager au;

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds ) {
Log.d("INFO", "onUpdate called");

//Use these to handle the actions
RemoteViews remoteViews;
ComponentName volumeWidget;

try {

//Set UI access
remoteViews = new RemoteViews( context.getPackageName(), R.layout.main);
volumeWidget = new ComponentName(context, VolumeWidget.class);

//Get the audio stream
au = (AudioManager)context.getSystemService(context.AUDIO_SERVICE);

//Get the max and current volume
int max = au.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
int cur = au.getStreamVolume(AudioManager.STREAM_MUSIC);

//Set the progressbar to the current volume
remoteViews.setProgressBar(R.id.progBar, max, cur, false);

//Call the widget to update? Not sure what this does...
appWidgetManager.updateAppWidget( volumeWidget , remoteViews );
}
catch(Exception e) {
Log.e("INFO", "Something, somewhere went terribly wrong : " + e.getMessage());
}
}
}
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout01"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">

<ProgressBar
android:id="@+id/progBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
/>

<LinearLayout
android:id="@+id/lay_btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>

<Button
android:id="@+id/btn_up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
/>

<Button
android:id="@+id/btn_down"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
/>

</LinearLayout>
</LinearLayout>
Hoop dat mensen er iets aan hebben En ik weet zeker dat er ook genoeg mensen zijn die hiervan een widget kunnen maken Zodra ik mijn ontwikkel machine weer aan de praat heb ga ik er ook weer mee verder… Maar gezien de hoeveelheid tijd ik heb kan dat wel is even duren ><

Owja, de knoppen die er staan doen nu nog niets. Als je hiermee bezig gaat zal je zelf de knoppen moeten binden en die vervolgens het volume +1 en -1 laten doen ^^

Bewerkt (25 maart 2011 08:53)

Reageer

We werken momenteel hard aan een nieuw forum voor Androidworld. Het is daarom helaas niet mogelijk om op dit topic te reageren.