Fırat Ersöz
Fırat Ersöz
Ankara
20/06/2019 tarihinden beri üye
295 GY Puanı
34K GY Sırası
2 Rozet
0 Sertifika
9 Soru Sordu
7 Cevap Verdi
0 Blog Yazısı
0 Etiket Takibi

Hakkında

İş Tecrubesi

Kullanıcıya ait İş tecrübesi bilgisi bulunmamaktadır.

Eğitim Geçmişi

Bursa Teknik Üniversitesi
| Aralık 2020 - Aralık 2020

Sertifikalar & Başarılar

GY Sertifikaları (0)
Kullanıcının GY sertifikası bulunmamaktadır.
Diğer Sertifikaları (0)
Kullanıcıya ait sertifika bulunmamaktadır.
Test Sonuçları (0)

Kullanıcıya ait test sonucu bulunmamaktadır.

Dil Becerileri

Son Forum Aktiviteleri

16
Tümünü Gör

androidde uygulama destroy edilse bile arkaplanda çalışan mediaplayer

androidde uygulama destroy edilse bile arkaplanda mediaplayer çalmasını istiyorum. uygulama arkaplanda çalışıyor ve bildirim üzerinden play pause işlemleri yapılabiliyor  fakat destroy edilince kapanıyor arkaplanda çalısmıyor. bunun için ne yapabilirim 

ikinci sorum ise geri tuşuna bastığım anda müzik çalmaya devam ediyor ve telefonun ana ekranına dönüyor geçmiş uygulamalardan tekrar açtığımda ise çalan müzik main activityde duruyor gibi görünüyor aslında pause tuşu görünmesi gerekirken play tuşu görünüyor ve playe bastığımda müzik 2. kez çalmaya başlıyor yani aynı 2 müzik üst üste biniyor. kısacası geri tuşuna bastığımda müzik durmuyor fakat buttonlarımın play ve pause işlevi 1 adım geri gidiyor.

public class MainActivity extends AppCompatActivity implements Playable{

    ImageButton playButton;
    ImageButton closeButton;
    String Stream= "http://stream.radioreklama.bg:80/radio1rock128";
    MediaPlayer mediaPlayer;



    NotificationManager notificationManager;
    List<Track> tracks;

    Boolean prepared=false;
    Boolean started=false;

    int position=0;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        playButton= (ImageButton) findViewById(R.id.playButton);
        playButton.setImageResource(R.drawable.play);
        playButton.setEnabled(false);


        mediaPlayer=new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

        new PlayerTask().execute(Stream);

        populateTracks();

        //Notification denemesi..
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            createChannel();
            registerReceiver(broadcastReceiver,new IntentFilter("TRACKS_TRACKS"));
            startService(new Intent(getBaseContext(), OnClearFromRecentService.class));
        }

        playButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {


                //CreateNotification.createNotification(MainActivity.this,tracks.get(1), R.drawable.pause,1,tracks.size() -1);
                //mediaPlayer.start();
                if (!mediaPlayer.isPlaying()){
                    //  mediaPlayer.pause();
                    //playButton.setBackgroundResource(R.drawable.play);
                    startService(new Intent(MainActivity.this, OnClearFromRecentService.class));
                    onNPlay();
                }else {
                    // mediaPlayer.start();
                    //playButton.setBackgroundResource(R.drawable.pause);
                    onNPause();
                    stopService(new Intent(MainActivity.this, OnClearFromRecentService.class));

                }
            }
        });
    }

    private void createChannel() {
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            NotificationChannel channel=new NotificationChannel(CreateNotification.CHANNEL_ID,
                    "denela",NotificationManager.IMPORTANCE_LOW);
            notificationManager=getSystemService(NotificationManager.class);
            if(notificationManager!=null){
                notificationManager.createNotificationChannel(channel);
            }
        }
    }

    private void populateTracks(){
        tracks=new ArrayList<>();
        tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
        tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
    }





    class PlayerTask extends AsyncTask<String, Void, Boolean> {

        @Override
        protected Boolean doInBackground(String... strings) {

            try {
                mediaPlayer.setDataSource(strings[0]);
                mediaPlayer.prepare();
                prepared=true;
            }catch(IOException e) {
                e.printStackTrace();
            }
            return prepared;
        }

        @Override
        protected void onPostExecute(Boolean aBoolean) {
            super.onPostExecute(aBoolean);
            playButton.setEnabled(true);
        }
    }



    BroadcastReceiver broadcastReceiver=new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action =intent.getExtras().getString("actionname");

            switch (action){
                case CreateNotification.ACTION_PLAY:
                    if (mediaPlayer.isPlaying()){
                        onNPause();
                    }else {
                        onNPlay();
                    }
                    break;
                case    CreateNotification.ACTION_CLOSE:
                    onNClose();
                    break;
            }
        }
    };

    @Override
    public void onNPlay() {
        mediaPlayer.start();
        //started=true;

        CreateNotification.createNotification(MainActivity.this, tracks.get(position),
                R.drawable.pause,position,tracks.size()-1);

        playButton.setImageResource(R.drawable.pause);

        if(!mediaPlayer.isPlaying())
            playButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mediaPlayer.start();
                    started=true;
                }
            });
    }

    @Override
    public void onNPause() {
        mediaPlayer.pause();
        //started=false;

        CreateNotification.createNotification(MainActivity.this, tracks.get(position),
                R.drawable.play,position,tracks.size()-1);
        playButton.setImageResource(R.drawable.play);


        if(mediaPlayer.isPlaying())
            playButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mediaPlayer.pause();
                    started=false;
                }
            });

    }

    @Override
    public void onNClose() {
        //mediaPlayer.release();

        CreateNotification.createNotification(MainActivity.this, tracks.get(position),
                R.drawable.close,position,tracks.size()-1);
        notificationManager.cancelAll();
        mediaPlayer.release();
        unregisterReceiver(broadcastReceiver);
        this.finish();

    }




    @Override
    protected void onResume() {
        super.onResume();
        /*
        if(started){
            mediaPlayer.start();
        }

         */
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            notificationManager.cancelAll();
        }


        /*
        if(prepared){
            mediaPlayer.release();
        }
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            notificationManager.cancelAll();
        }
        unregisterReceiver(broadcastReceiver);
         */

    }

 

androidde uygulama destroy edilse bile arkaplanda çalışan mediaplayer

androidde uygulama destroy edilse bile arkaplanda mediaplayer çalmasını istiyorum. uygulama arkaplanda çalışıyor ve bildirim üzerinden play pause işlemleri yapılabiliyor  fakat destroy edilince kapanıyor arkaplanda çalısmıyor. bunun için ne yapabilirim 

ikinci sorum ise geri tuşuna bastığım anda müzik çalmaya devam ediyor ve telefonun ana ekranına dönüyor geçmiş uygulamalardan tekrar açtığımda ise çalan müzik main activityde duruyor gibi görünüyor aslında pause tuşu görünmesi gerekirken play tuşu görünüyor ve playe bastığımda müzik 2. kez çalmaya başlıyor yani aynı 2 müzik üst üste biniyor. kısacası geri tuşuna bastığımda müzik durmuyor fakat buttonlarımın play ve pause işlevi 1 adım geri gidiyor.

public class MainActivity extends AppCompatActivity implements Playable{

    ImageButton playButton;
    ImageButton closeButton;
    String Stream= "http://stream.radioreklama.bg:80/radio1rock128";
    MediaPlayer mediaPlayer;



    NotificationManager notificationManager;
    List<Track> tracks;

    Boolean prepared=false;
    Boolean started=false;

    int position=0;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        playButton= (ImageButton) findViewById(R.id.playButton);
        playButton.setImageResource(R.drawable.play);
        playButton.setEnabled(false);


        mediaPlayer=new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

        new PlayerTask().execute(Stream);

        populateTracks();

        //Notification denemesi..
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            createChannel();
            registerReceiver(broadcastReceiver,new IntentFilter("TRACKS_TRACKS"));
            startService(new Intent(getBaseContext(), OnClearFromRecentService.class));
        }

        playButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {


                //CreateNotification.createNotification(MainActivity.this,tracks.get(1), R.drawable.pause,1,tracks.size() -1);
                //mediaPlayer.start();
                if (!mediaPlayer.isPlaying()){
                    //  mediaPlayer.pause();
                    //playButton.setBackgroundResource(R.drawable.play);
                    startService(new Intent(MainActivity.this, OnClearFromRecentService.class));
                    onNPlay();
                }else {
                    // mediaPlayer.start();
                    //playButton.setBackgroundResource(R.drawable.pause);
                    onNPause();
                    stopService(new Intent(MainActivity.this, OnClearFromRecentService.class));

                }
            }
        });
    }

    private void createChannel() {
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            NotificationChannel channel=new NotificationChannel(CreateNotification.CHANNEL_ID,
                    "denela",NotificationManager.IMPORTANCE_LOW);
            notificationManager=getSystemService(NotificationManager.class);
            if(notificationManager!=null){
                notificationManager.createNotificationChannel(channel);
            }
        }
    }

    private void populateTracks(){
        tracks=new ArrayList<>();
        tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
        tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
    }





    class PlayerTask extends AsyncTask<String, Void, Boolean> {

        @Override
        protected Boolean doInBackground(String... strings) {

            try {
                mediaPlayer.setDataSource(strings[0]);
                mediaPlayer.prepare();
                prepared=true;
            }catch(IOException e) {
                e.printStackTrace();
            }
            return prepared;
        }

        @Override
        protected void onPostExecute(Boolean aBoolean) {
            super.onPostExecute(aBoolean);
            playButton.setEnabled(true);
        }
    }



    BroadcastReceiver broadcastReceiver=new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action =intent.getExtras().getString("actionname");

            switch (action){
                case CreateNotification.ACTION_PLAY:
                    if (mediaPlayer.isPlaying()){
                        onNPause();
                    }else {
                        onNPlay();
                    }
                    break;
                case    CreateNotification.ACTION_CLOSE:
                    onNClose();
                    break;
            }
        }
    };

    @Override
    public void onNPlay() {
        mediaPlayer.start();
        //started=true;

        CreateNotification.createNotification(MainActivity.this, tracks.get(position),
                R.drawable.pause,position,tracks.size()-1);

        playButton.setImageResource(R.drawable.pause);

        if(!mediaPlayer.isPlaying())
            playButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mediaPlayer.start();
                    started=true;
                }
            });
    }

    @Override
    public void onNPause() {
        mediaPlayer.pause();
        //started=false;

        CreateNotification.createNotification(MainActivity.this, tracks.get(position),
                R.drawable.play,position,tracks.size()-1);
        playButton.setImageResource(R.drawable.play);


        if(mediaPlayer.isPlaying())
            playButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mediaPlayer.pause();
                    started=false;
                }
            });

    }

    @Override
    public void onNClose() {
        //mediaPlayer.release();

        CreateNotification.createNotification(MainActivity.this, tracks.get(position),
                R.drawable.close,position,tracks.size()-1);
        notificationManager.cancelAll();
        mediaPlayer.release();
        unregisterReceiver(broadcastReceiver);
        this.finish();

    }




    @Override
    protected void onResume() {
        super.onResume();
        /*
        if(started){
            mediaPlayer.start();
        }

         */
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            notificationManager.cancelAll();
        }


        /*
        if(prepared){
            mediaPlayer.release();
        }
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            notificationManager.cancelAll();
        }
        unregisterReceiver(broadcastReceiver);
         */

    }

 

androidde uygulama destroy edilse bile arkaplanda çalışan mediaplayer

androidde uygulama destroy edilse bile arkaplanda mediaplayer çalmasını istiyorum. uygulama arkaplanda çalışıyor ve bildirim üzerinden play pause işlemleri yapılabiliyor  fakat destroy edilince kapanıyor arkaplanda çalısmıyor. bunun için ne yapabilirim 

ikinci sorum ise geri tuşuna bastığım anda müzik çalmaya devam ediyor ve telefonun ana ekranına dönüyor geçmiş uygulamalardan tekrar açtığımda ise çalan müzik main activityde duruyor gibi görünüyor aslında pause tuşu görünmesi gerekirken play tuşu görünüyor ve playe bastığımda müzik 2. kez çalmaya başlıyor yani aynı 2 müzik üst üste biniyor. kısacası geri tuşuna bastığımda müzik durmuyor fakat buttonlarımın play ve pause işlevi 1 adım geri gidiyor.

public class MainActivity extends AppCompatActivity implements Playable{

    ImageButton playButton;
    ImageButton closeButton;
    String Stream= "http://stream.radioreklama.bg:80/radio1rock128";
    MediaPlayer mediaPlayer;



    NotificationManager notificationManager;
    List<Track> tracks;

    Boolean prepared=false;
    Boolean started=false;

    int position=0;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        playButton= (ImageButton) findViewById(R.id.playButton);
        playButton.setImageResource(R.drawable.play);
        playButton.setEnabled(false);


        mediaPlayer=new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

        new PlayerTask().execute(Stream);

        populateTracks();

        //Notification denemesi..
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            createChannel();
            registerReceiver(broadcastReceiver,new IntentFilter("TRACKS_TRACKS"));
            startService(new Intent(getBaseContext(), OnClearFromRecentService.class));
        }

        playButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {


                //CreateNotification.createNotification(MainActivity.this,tracks.get(1), R.drawable.pause,1,tracks.size() -1);
                //mediaPlayer.start();
                if (!mediaPlayer.isPlaying()){
                    //  mediaPlayer.pause();
                    //playButton.setBackgroundResource(R.drawable.play);
                    startService(new Intent(MainActivity.this, OnClearFromRecentService.class));
                    onNPlay();
                }else {
                    // mediaPlayer.start();
                    //playButton.setBackgroundResource(R.drawable.pause);
                    onNPause();
                    stopService(new Intent(MainActivity.this, OnClearFromRecentService.class));

                }
            }
        });
    }

    private void createChannel() {
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            NotificationChannel channel=new NotificationChannel(CreateNotification.CHANNEL_ID,
                    "denela",NotificationManager.IMPORTANCE_LOW);
            notificationManager=getSystemService(NotificationManager.class);
            if(notificationManager!=null){
                notificationManager.createNotificationChannel(channel);
            }
        }
    }

    private void populateTracks(){
        tracks=new ArrayList<>();
        tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
        tracks.add(new Track("Radio Feelo","Live is in spiker",R.drawable.radyoamblem));
    }





    class PlayerTask extends AsyncTask<String, Void, Boolean> {

        @Override
        protected Boolean doInBackground(String... strings) {

            try {
                mediaPlayer.setDataSource(strings[0]);
                mediaPlayer.prepare();
                prepared=true;
            }catch(IOException e) {
                e.printStackTrace();
            }
            return prepared;
        }

        @Override
        protected void onPostExecute(Boolean aBoolean) {
            super.onPostExecute(aBoolean);
            playButton.setEnabled(true);
        }
    }



    BroadcastReceiver broadcastReceiver=new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action =intent.getExtras().getString("actionname");

            switch (action){
                case CreateNotification.ACTION_PLAY:
                    if (mediaPlayer.isPlaying()){
                        onNPause();
                    }else {
                        onNPlay();
                    }
                    break;
                case    CreateNotification.ACTION_CLOSE:
                    onNClose();
                    break;
            }
        }
    };

    @Override
    public void onNPlay() {
        mediaPlayer.start();
        //started=true;

        CreateNotification.createNotification(MainActivity.this, tracks.get(position),
                R.drawable.pause,position,tracks.size()-1);

        playButton.setImageResource(R.drawable.pause);

        if(!mediaPlayer.isPlaying())
            playButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mediaPlayer.start();
                    started=true;
                }
            });
    }

    @Override
    public void onNPause() {
        mediaPlayer.pause();
        //started=false;

        CreateNotification.createNotification(MainActivity.this, tracks.get(position),
                R.drawable.play,position,tracks.size()-1);
        playButton.setImageResource(R.drawable.play);


        if(mediaPlayer.isPlaying())
            playButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mediaPlayer.pause();
                    started=false;
                }
            });

    }

    @Override
    public void onNClose() {
        //mediaPlayer.release();

        CreateNotification.createNotification(MainActivity.this, tracks.get(position),
                R.drawable.close,position,tracks.size()-1);
        notificationManager.cancelAll();
        mediaPlayer.release();
        unregisterReceiver(broadcastReceiver);
        this.finish();

    }




    @Override
    protected void onResume() {
        super.onResume();
        /*
        if(started){
            mediaPlayer.start();
        }

         */
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            notificationManager.cancelAll();
        }


        /*
        if(prepared){
            mediaPlayer.release();
        }
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
            notificationManager.cancelAll();
        }
        unregisterReceiver(broadcastReceiver);
         */

    }

 

Siteme Adblock kapatan eklenti eklersem?

Biliyosunuz ki webde adblock kullanıcısı oldukça fazla ve bizim gelir kaynağımız da reklamlar merak ettiğim şeyler;

1) Eğer adblock kapatma eklentisini web sitemde kullanırsam Adsense'den banlanır mıyım?

2) Eğer adblock kapatma eklentisini web sitemde kullanırsam kullanıcıda nasıl bir etkisi olur web sitem kaliteli ve pek eşi olmayan bir site yani bir konuyu arayanın, aradığını bulduğu bir site. kullanıcı kaybı yaşar mıyım?

3)adblock engelledikten sonra kazançlarımda artış mı olur yoksa azalış mı gösterir?

4)Google da aramalarda yukarda çıkmama etki eder mi?

şimdiden tesekkür ederim. 

Cannot recover key sorunu

Merhabalar.

Uygulamamı daha önceden aynı key ile imzalayıp güncelleme yapmıştım fakat şuan tekrar güncellemek için imzalı apk çıkarmaya çalıştığımda

event log da:

Generate Signed APK: Errors while building APK. You can find the errors in the 'Messages' view.

mesaj bölümündeyse :

Cannot Recover Key 

diye bir hata çıkıyor. Şifre hatası olmadığını düşünüyorum çünkü farklı bir şifre girdiğimde şifre yanlış tarzında bir hata alıyorum. Sizce sorun nedir nasıl düzeltebilirim?

androidde uygulama destroy edilse bile arkaplanda çalışan mediaplayer

Bu arada 2. soruya çözüm arayan arkadaşlar için çözümü buldum ve paylaşmak istedim.


@Override

public void onBackPressed()

{ Intent a = new Intent(Intent.ACTION_MAIN);

a.addCategory(Intent.CATEGORY_HOME);

a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(a); }

 

uygulamayı bu kod sayesinde telefon ana ekranına yoluuyoruz.
 

Speech to text (extra promptu okuma)

16 Ağustos 2019 tarihinde cevaplandı

yanlıs anlamadıysam bir textviewdaki texti okutmaya çalışıyosunuz. text to speech komutunu kullanabilirsiniz. https://www.youtube.com/watch?v=DoYnz0GYN1w 

bu tutorial yardımcı olabilir

İşlem sırası ayarlama

16 Ağustos 2019 tarihinde cevaplandı

ifleri iç içe yazarsanız birinci sağlanmazsa 2. intent de çalışmaz. birinci saglandıktan sonra 2. if içerisi çalışır

Android seslendirme aksanı

13 Ağustos 2019 tarihinde cevaplandı

Bildiğim kadarıyla Türkçe seslendirme desteklenmiyor. Eğer telefonunuzun ayarlar>genel yönetim>dil ve giriş>metinden-sese kısmındaki tercihli tts motorunu google olarak ayarlarsanız Türkçe aksanını kullanabilirsiniz.

Admob reklamlarım gözükmemeye başladı

05 Ağustos 2019 tarihinde cevaplandı

aynı sorun bendede var fakat sadece ödüllü reklamda sorun var. O da açılıyor fakat video izlenmeden bitişe geliyor dolayısıyla ödül kazandırmıyor. çözümü buldunuz mu?

EDİT: Sorun emülatördeymiş telefona yükleyince sorunsuz çalışıyor. Sizdede aynı sorun olabilir deneyin isterseniz.