Làm ArcGIS cho Desktop phát âm thanh trên loa khi hoàn thành mô hình?


16

Tôi muốn có thể ngủ trong khi Người mẫu hoạt động suốt đêm trong ArcGIS for Desktop.

Tôi muốn ArcGIS for Desktop phát âm thanh khi nó kết thúc, để đánh thức tôi.

Điều này có thể không?


3
Tôi muốn gửi email cho tôi để có thể câu trả lời có thể bao gồm cả hai (Đổ một ly bia cũng sẽ rất tuyệt). Q. tuyệt vời
Nếu bạn không biết - chỉ cần GIS

1
Chr (7) BEL phát âm thanh loa ... tuy nhiên nếu bạn chỉ quan tâm đến một con trăn nhỏ tôi có thể giúp đỡ. Không thể giúp với bia mặc dù.
Michael Promotionson

Ah! Một email sẽ hoạt động, tôi có thể làm cho chương trình email của tôi tắt.
Aaron

5
Tôi dự tính một giải pháp như Rube Goldberg (sp?) Sẽ thích hợp nhất. Khi mô hình hoàn thành một cánh tay máy tính cơ khí chạm vào cửa bẫy phát ra một quả bóng cuối cùng làm rơi một chiếc khăn ướt trên mặt bạn hoặc tương tự.
Nếu bạn không biết - chỉ cần GIS

Câu trả lời:


18

Tôi thực sự thích câu trả lời của Aarons, nhưng một cái gì đó đơn giản và địa phương hơn:

subprocess.Popen([r"C:\Program Files (x86)\Windows Media Player\wmplayer.exe",r"C:\Users\Public\Music\Sample Music\Maid with the Flaxen Hair.mp3"])

sử dụng mô đun quy trình con khiến trình phát phương tiện windows mở tệp ..

import subprocess

wmPlay = r"C:\Program Files (x86)\Windows Media Player\wmplayer.exe"
PlayFile= r"C:\Users\Public\Music\Sample Music\Maid with the Flaxen Hair.mp3"
subprocess.Popen([wmPlay,PlayFile])

Tất nhiên, âm nhạc mẫu có nhiều khả năng đưa bạn vào giấc ngủ để một cái gì đó giống như âm báo đồng hồ báo thức của tôi có thể phù hợp hơn.

Nhưng tất nhiên điều đó đơn giản đến mức bạn có thể làm cả hai, chỉ cần giải quyết nó vào cuối mã của Aarons.


1
Ý tưởng tuyệt vời Điều này cũng có thể dễ dàng kết hợp như một công cụ kịch bản.
Aaron

2
Yêu ý tưởng kịch bản này. Tôi muốn đề xuất một bản mp3 như nhạc chủ đề National Geographic , hay Where in the World is Carmen Sandiego , nhưng đó có thể là một chút quá táo bạo đối với tôi ...
Erica

Hương vị âm nhạc của mỗi người là khác nhau. Tôi đã chọn một bài hát ồn ào và khó chịu vì điều đó có nhiều khả năng gây chú ý hơn. Chuyến bay của Valkyries sẽ là một lựa chọn tuyệt vời nếu bạn không thể ngủ mặc dù vậy. Nếu bạn thực sự quan tâm, bạn có thể đưa vào một tham số của tệp sẽ được phát và báo cáo lại với âm báo ngắn ở những điểm quan trọng như bằng chứng của cuộc sống
Michael Stimson

và một lần nữa, tôi đã trả lời trước câu trả lời của bạn với AML năm 1998 tạo ra tiếng bíp khó chịu;)
Stephen Lead

Ha ha @StephenLead, trong ArcInfo, mọi thứ đều phát ra tiếng bíp khó chịu. Bạn có thể đi bộ và pha cà phê và biết rằng quá trình của bạn vẫn diễn ra chỉ bằng chuỗi tiếng bíp. Điều này tất nhiên giả định loa hệ thống của bạn được cài đặt.
Michael Promotionson

16

Làm thế nào về e-mail cho mình khi mô hình kết thúc? Đảm bảo đặt điện thoại của bạn để cung cấp cho bạn âm báo khi bạn nhận được e-mail được gửi qua tập lệnh Python đính kèm. Điều này được thiết kế để được chạy như một công cụ kịch bản trong ModelBuilder. Nếu bạn không quen làm việc với các công cụ script, hãy làm theo các hướng dẫn sau . Xin lưu ý rằng cái này được cấu hình để hoạt động với gmail. Công cụ này được thiết kế để hoạt động như sau (lưu ý điều kiện tiên quyết gắn biến biến bufferedPoints và công cụ tập lệnh sendEmail):

nhập mô tả hình ảnh ở đây


import smtplib, os, arcpy
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders

# Fill in the necessary blanks here
gmail_user = sys.argv[1]
gmail_pwd = sys.argv[2]

# The parameters
to = sys.argv[3]
subject = sys.argv[4]
text = sys.argv[5]

def mail(to, subject, text):
    msg = MIMEMultipart()

    msg['From'] = gmail_user
    msg['To'] = to
    msg['Subject'] = subject

    # Attaches a text message to the e-mail
    msg.attach(MIMEText(text))

    mailServer =smtplib.SMTP("smtp.gmail.com", 587)
    mailServer.ehlo()
    mailServer.starttls()
    mailServer.ehlo()
    mailServer.login(gmail_user, gmail_pwd)
    mailServer.sendmail(gmail_user, to, msg.as_string())
    mailServer.close()

mail(to, subject, text)

Hướng dẫn tạo công cụ script:

Tạo kịch bản

  1. Mở IDLE > Tệp> Cửa sổ mới
  2. Sao chép và dán tập lệnh trên bài đăng này vào cửa sổ mới
  3. Lưu dưới dạng> "SendEmail.py"

Tạo công cụ kịch bản

  1. Nhấp chuột phải vào thư mục> Mới> Hộp công cụ (Đây là nơi công cụ tập lệnh sẽ được đặt)
  2. Nhấp chuột phải vào hộp công cụ> Thêm> Tập lệnh ...
  3. Điền vào Tên, Lable, Mô tả và kiểm tra "Lưu đường dẫn tương đối ...."
  4. Nhấn tiếp
  5. Thêm tập lệnh bạn đã tạo "SendEmail.py"
  6. Nhấn tiếp
  7. Điền vào các tham số chính xác như trong hình đính kèm.
  8. Lượt kết thúc
  9. Định vị công cụ mới trong hộp công cụ và sử dụng như bất kỳ công cụ nào khác trong ModelBuilder

nhập mô tả hình ảnh ở đây


1
@ Michael Miles-Stimson Sự trùng hợp hài hước, không còn quá nhiều Aaron nữa. Công cụ tập lệnh này hoạt động trực tiếp thông qua dịch vụ email và độc lập với triển vọng. Tuy nhiên, nếu Outlook có thể đọc e-mail cho bạn và điện thoại của bạn có thể thông báo cho bạn khi bạn nhận được e-mail qua Outlook, thì nó sẽ hoạt động tốt.
Aaron

1
Tôi làm việc với Aaron, anh ấy cũng rất tuyệt. Tôi đã đề cập đến email gửi đi , về cơ bản tôi sẽ gửi email cho bản thân mình .. tin nhắn từ tôi để tôi gửi từ máy tính làm việc và đọc / thông báo trên máy tính ở nhà sử dụng VPN. Outlook có thể được định cấu hình để phát âm thanh khi có email.
Michael Promotionson

1
ĐỒNG Ý. Điều này rất hứa hẹn! Tôi không hiểu nơi để đặt địa chỉ email thực tế của tôi. Tôi có thay thế nó cho cụm từ "gmail_user" không? hoặc đó là biến? Những thứ "sys.argv [#]" là gì? Có phải đó là nơi tôi đặt thông tin của mình?
Aaron

1
@Aaron sys.argv là danh sách chứa các đối số được truyền cho tập lệnh Python từ dòng lệnh. Nó tương đương với việc sử dụng arcpy.GetParameterAsText ( i )
om_henners

3
Nếu nó giúp được bất cứ ai, tôi đã đưa ra một ý chính cho thấy cách sử dụng câu trả lời của @Aaron như một trình bao bọc để thông báo về sự thành công hay thất bại của tập lệnh.
om_henners
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.