Friday, September 21, 2012

Chương trình chơi nhạc đơn giản (part 3)

Link download chương trình: Google play link
Source code:  source code here at github
Chương trình chơi nhạc đơn giản đã hòm hòm sau một tháng vừa học vừa làm. Mình bổ sung thêm cho chương trình những thứ mà liên quan đến trải nghiệm của người sử dụng:
  • Làm notification ở status bar để người dùng biết service chơi nhạc đang chạy, bài gì đang hát và cho phép ấn vào để vào chương trình chơi nhạc.
  • WAKE_LOCK để máy không rơi vào trạng thái ngủ  (sẽ làm nhạc tắt giữa chừng) trong khi đang nghe nhạc. 
  • Quản lý audio focus để phát hiện ra những tình huống như có điện thoại gọi đến thì tắt nhạc, tin nhắn thông báo đến thì làm nhỏ nhạc lại để người dùng biết.
  • Phát hiện head phone được rút ra để tự động dừng nhạc - không gây ầm ỹ.
Chi tiết những thứ tiểu tiết này có thể xem ở đây: Android developer guide about media playback




11 comments:

  1. Chào bạn, cảm ơn bạn về chương trình nghe nhạc này, rất hữu ích.
    bạn có thể hướng dẫn mình thêm về nghe nhạc online không?

    ReplyDelete
    Replies
    1. Rất tiếc là mình không hướng dẫn được vì không có thời gian và thực ra thì cũng chưa biết làm :D

      Delete
    2. Cho xin cái thư mục gen luôn đi ad ơi. File.mp3 để ở đâu mới hát được vậy?

      Delete
    3. public DragSortListView(Context context, AttributeSet attrs) {
      super(context, attrs);
      mRemoveMode = FLING;
      mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();

      if (attrs != null) {
      TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.DragSortListView, 0, 0);

      mItemHeightCollapsed = a.getDimensionPixelSize(R.styleable.DragSortListView_collapsed_height,
      mItemHeightCollapsed);

      mTrackDragScroll = a.getBoolean(R.styleable.DragSortListView_track_drag_scroll, false);

      mFloatBGColor = a.getColor(R.styleable.DragSortListView_float_background_color, 0x00000000);

      mRemoveMode = a.getInt(R.styleable.DragSortListView_remove_mode, -1);

      float frac = a.getFloat(R.styleable.DragSortListView_drag_scroll_start, mDragUpScrollStartFrac);
      setDragScrollStart(frac);

      mMaxScrollSpeed = a.getFloat(R.styleable.DragSortListView_max_drag_scroll_speed, mMaxScrollSpeed);

      a.recycle();
      }

      // Log.d("mobeta", "collapsed height=" + mItemHeightCollapsed);

      mDragScroller = new DragScroller();
      setOnScrollListener(mDragScroller);
      }

      =>> hàm styleable trong android.R viết sao zậy ad, bị lỗi chỗ này mãi @@

      Delete
    4. Mình lâu rồi không làm nên chẳng nhớ nữa rồi.
      Tuy nhiên R ở đoạn mã trên không phải là android.R mà là của chương trình.
      Bạn tìm phía trên xem trình biên dịch có tự ý chèn thêm import android.R; không thì xóa đi

      Delete
    5. Cái styleable này khai báo trong file .xml, mà sao android.R nó không đọc được nên lỗi.
      Ad còn giữ file nguồn thì share full source đi. Thks!!
      gmail: nhan9888@gmail.com

      Delete
    6. Full source ở link đó bạn: https://github.com/lehn85/simplemusicplayer
      Tất cả ở đấy hết.
      Làm android này váng đầu thế đấy. Bạn đang dùng eclipse hay intellij ?

      Delete
    7. Eclipse nhiều lỗi khó hiểu lắm. Trước mình dùng cũng bị những lỗi kiểu thế mà không rõ nguyên nhân. Giờ dùng Intellij thấy tốt hơn rất nhiều.

      Delete
    8. sao em tải về mà không mở được vậy. có dấu ! đỏ lè ngay project luôn

      Delete
  2. sao nó nói thiếu thư viện v

    ReplyDelete