2017-11-02 20 views
5

Tôi muốn phát âm thanh khi xoay bánh xe Theo góc và điều chỉnh tốc độ quay bánh xeCách chơi hiệu ứng âm thanh của bánh xe quay đồng nguồn với tốc độ hoặc đường Arc

Tôi muốn phát âm thanh ở bên phải thời gian khi Pin chạm vào liên lạc trực tuyến của Arc.

Ngoài ra, bạn muốn hoạt ảnh trên Ghim khi chạm vào như Lắc.

Sound là chơi nhưng âm thanh liên tục chơi và tìm kiếm không phối Theo Canvas bánh

@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    drawWheelBackground(canvas); 
    initComponents(); 

    float tempAngle = 0; 
    float sweepAngle = 360/mWheelItems.size(); 
    if (this.mWheelItems != null) { 

     Log.e("mWheelItems.size()", String.valueOf(mWheelItems.size())); 
     for (int i = 0; i < mWheelItems.size(); i++) { 
      archPaint.setColor(mWheelItems.get(i).color); 
      archPaint1.setColor(Color.WHITE); 

      canvas.drawArc(range, tempAngle, sweepAngle, true, archPaint2); 
      canvas.drawArc(range, tempAngle, sweepAngle, true, archPaint); 

      drawImage(canvas, tempAngle, mWheelItems.get(i).bitmap, mWheelItems.get(i).mvalue, sweepAngle); 

     } 

     if (!(this.resourcePlayer == null)) { 

      if (this.resourcePlayer.isPlaying()) { 
       resourcePlayer.setVolume(100, 100); 
       this.resourcePlayer.seekTo(0); 

      } else { 

       this.resourcePlayer.start(); 

      } 
     } 

    } 
} 

Rotation theo wheelItemCenter và 360 độ

final float wheelItemCenter = 180 - getAngleOfIndexTarget(target) + (360/mWheelItems.size())/2; 

    animate().setInterpolator(new DecelerateInterpolator()) 
      .setDuration(DEFAULT_ROTATION_TIME) 
      .rotation((360*5) + wheelItemCenter) 

enter image description here

+0

bạn có thể cung cấp liên kết jsfiddle để kiểm tra thời gian chạy không. – spankajd

+1

KHÔNG, tôi không sử dụng jsfiddle này được thực hiện bởi android canvas không sử dụng bất kỳ ... –

Trả lời

2

Vì vậy, nếu tôi m hiểu đúng, bạn muốn điều chỉnh âm thanh dựa trên tốc độ của bánh xe và chơi nó bất cứ khi nào nó chạm vào một trong các chân của bạn.

Phát nó bất cứ khi nào nó chạm vào một trong các ghim phải là một câu hỏi toán, nếu nó phát liên tục có nghĩa là bánh xe của bạn đang quay nhanh và âm thanh bạn đang chơi dài hơn thời gian giữa hai chân , Tôi giả định.

Bạn có thể chơi xung quanh với số speedpitch âm thanh của mình. Nếu bạn đang sử dụng số MediaPlayer, bạn có thể thay đổi PlaybackParams theo this - xem setPitchsetSpeed.

Bánh xe càng nhanh thì tốc độ/âm thanh của bạn càng cao. Nó càng chậm, bạn càng làm chậm âm thanh.

+0

Tôi sẽ không đi xuống con đường này, havent bạn đã bao giờ nghe thấy một bánh xe quay? Tôi sẽ sugest bắt đầu một chủ đề mới để phát lại trên mỗi hit. – PanBrambor

Các vấn đề liên quan